Add container_block_offset,top_offset to NGFloatingObject.

To correctly paint a float from LayoutNG we need to know the BFC offset
of the container to which we are attaching this float. It's used to
calculate {@code left_offset}, {@code top_offset}.
In most situations {@code (left|top)_offset} equals to float's logical
offset except the cases where a float needs to be re-attached to a non-zero
height parent.
Example:
  <body>
    <p style="height: 60px">Example</p>
    <div id="zero-height-div"><float></div>
Here the float's logical offset is 0 relative to its #zero-height-div
parent. Because of the "zero height" div this float is re-attached to the
1st non-empty parent => body. To paint this float correctly we provide the
modified {@code (top|left)_offset} which is relative to the float's new
parent.
I.e. for our example {@code top_offset} == #zero-height-div's BFC offset
                     - body's BFC offset + float's logical offset

BUG=635619
TESTS=Fixes 8 tests in CSS2/floats-clear, 1 in CSS2/floats,
1 in CSS2/positioning, 2 in fast/block/margin-collapse,
2 in fast/block/float. Total: 14

Review-Url: https://codereview.chromium.org/2850893003
Cr-Commit-Position: refs/heads/master@{#471134}
10 files changed