* now ::before and ::after elements are created if content is not
defined
* styles ::before and ::after without other selectors are applied
to the already created before/after elements
* is_floats_holder function is renamed to is_block_formatting_context
* All floating boxes related functions are moved to new class formatting_context
* The class formatting_context was passed as argument to the render
function
* render function is now is wrapper for _render. The render function
creates formatting_context when required
moved display property based re-rendering from render_item_block::render
to the top functions: place_float, place_inline and
render_item_block_context::_render_content
Also:
* refactoring: have_parent is replaced with is_root in render_item
* fixed: The tag <body> is not floats holder by default
* expanding <html> and <body> elements auto-expanding up to client
rectangle
* Removed "width: 100%; height: 100%" from <html> style
* extend <html> and <body> elements to the client rectangle if
width/height is auto
* Reverse inherit for <html> background is working again
* Always draw <html> element background into document clipping area to
fill entire "browser window".
* Added document::content_width and document::content_height. These
methodts return the document size without <html> and <body> tags for
using in tests and other applications
* max_width argument removed from _render function
* added render_width into containing_block_context structure. This
member should be used to render element instead of max_width
* _render protected function is replaced with render function
* apply auto-margins from parent element. Auto margins must not be
applied inside render function
document::height() now returns minimum height. This was used in the
render_test.cpp to find the bitmap height. Most of tests were updated
to to match real document size.
Also added ACID1 test.