Fix selection rect rounding issues on Windows

Change rounding logic for selection rects to account for precision loss
and unify rounding behavior for the selection and selection clip rect
calculations.

* Font.cpp
  (FloatRect Font::pixelSnappedSelectionRect)
    Change how selection rects are snapped to device pixels to adjust
    values by epsilon before rounding right edge just as we already do
    for the left edge. This ensures that precision losses doesn't result
    in incorrect rounding.
* InlineTextBox.cpp
  (alignSelectionRectToDevicePixels)
    Change helper function used to pixel snap the clip rect for
    selection paiting to round the right edge just like the rounding
    logic in Font::pixelSnappedSelectionRect.

TEST=fast/selectors/selection-window-inactive.html,
     fast/selectors/shadow-host-div-with-span.html,
     fast/selectors/shadow-host-div-with-text.html
BUG=382817
R=pdr@chromium.org

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

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