[LayoutNG] Fix incorrectly positioned empty blocks inside of new BFC

List of changes:
- Reset BFC offset for blocks that establishes a new BFC
- Correctly calculate child's BFC offset if the parent's BFC offset is
  known but the child fragment doesn't know its BFC offset
  (for example when it's empty)
- Do not change content_size for empty blocks. Example:
  <div style="overflow:hidden">
    <div style="margin-top: 8px"></div>
    <div style="margin-top: 10px"></div>
  </div>
- Do not set MarginStrut to Float Constraint spaces
- New unit test NGBlockLayoutAlgorithmTest::PositionEmptyBlocksInNewBfc
- Update legacy floating objects for each fragment's instead of for
  fragment's children only.

BUG=635619
TEST=NGBlockLayoutAlgorithmTest::PositionEmptyBlocksInNewBfc

Review-Url: https://codereview.chromium.org/2700683002
Cr-Commit-Position: refs/heads/master@{#451177}
7 files changed