[LayoutNG] Make NGLineBuilder work with inline floats

This patch teaches NGLineBuilder how to position inline floats.

Below is a high level overview of the implemented logic:
Consider this example:
The quick <div id="float"></div> brown fox jumps over the lazy dog

1) NGLineBuilder/NGTextLayoutAlgorithm starts constructing a line
2) Every time when we hit a text break opportunity
   NGLineBuilder::SetEnd gets a corresponding NGLayoutInlineItem
3) If it's a float then it tries to position it on the current text
   line.
4) If the float does not fit it will be added to the UnpositionedFloat
   list
5) When we place the line we position all pending floats from the
   UnpositionedFloat list.

BUG=635619
TEST=TextFloatsAroundInlineFloatThatFitsOnLine,
TextFloatsAroundInlineFloatThatDoesNotFitOnLine

Review-Url: https://codereview.chromium.org/2755143003
Cr-Commit-Position: refs/heads/master@{#459332}
9 files changed