[LayoutNG] Make positioned floats actual children.

This makes floats actual children of the fragment which they belong to.

This fixes a few tests specifically for cases like:
<div id=cb><div id=float><div id=abs></div></div></div>

Here the float contains an OOF positioned element. This wasn't getting
passed up to its containing block as the float wasn't a regular
fragment.

Additionally it fixes:
<div id=has-border>text<div id=float></div>text</div>

In this case we wrapped the text and float in an anonymous fragment,
but we didn't adjust the floats position to the containing fragments
offset.

Bug: 635619
Change-Id: I806f9475a7424b83bd6a718147a9613894046de7
Reviewed-on: https://chromium-review.googlesource.com/570503
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487256}
42 files changed