[LayoutNG] Implement intrincs which handle floats correctly.

The existing code for this LayoutBlock::ComputeBlockPreferredLogicalWidths
was actually reasonably good, but due to re-use of variables, and a few
things which happened over time made it a little convoluted.

This hopefully is easier to follow.

Bug: 635619
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Change-Id: I6b80bc2228473108e18c5680783668259a8d91b2
Reviewed-on: https://chromium-review.googlesource.com/784675
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522253}
8 files changed