Do not pixel-snap horizontal positions in line layout

Change line layout to not pixel-snap horizontal positions and widths during
layout, sepcifically change RootInlineBox::paddedLayoutOverflowRect,
RenderBlockFlow::updateLogicalWidthForAlignment and
RenderBlockFlow::computeInlineDirectionPositionsForLine to use the precise
values instead of the pixel-snapped ones.

This allows precision to be maintained during overflow calculations and prevents
extra, undesierable, scrollbars from appearing. It also avoids unnecesarry int
to float/LayoutUnit conversions.

Sadly some pixel-snapping is still required to support multicolum as that code
is not compatible with subpixel layout. However, this fixes several issues with
intrinsic layout and overflow handling at non-100 percent zoom levels while
retaining the existing caveats for multicol.

R=leviw@chromium.org
BUG=323880
TEST=fast/css/zoomed-intrinsic-width.html

Review URL: https://codereview.chromium.org/77023009

git-svn-id: svn://svn.chromium.org/blink/trunk@162805 bbb929c8-8fbe-4397-9dbb-9b2b20218538