Avoid repaints on subpixel layer location change

Previously, we accumulate subpixel offset in range of [0, 1) (in x or y
direction). If accumulatedSubpixelOffset >= 0.5, we will add 1 to
offsetFromRenderer of the composited layer, causing full repaint of the
layer.

This causes frequent repaints when the layer animates its location.

This CL changes accumulated subpixel offset range to [-0.5, 0.5) to
avoid change of offsetFromRenderer during location animation.

The method doesn't ensure the accurate positioning of contents of the
composited layer (which seems impossible -- see the bug), but not worse
than the original method.

Added tests in fast/sub-pixel/repaint-subpixel-layer-in-subpixel-composited-layer.html.
The errors of left of the inner div before and after this CL for each
test case in the test are:
         Before    After
case 1    0         1
case 2   -1         0
case 3    0         0
case 4    0         1
case 5   -1        -1
(error = <physical left of the inner div when the outer div is composited>
       - <physical left of the inner div when the outer div is not composited>)

BUG=308737
TEST=fast/sub-pixel/should-not-repaint-subpixel-composited-layer.html
TEST=fast/sub-pixel/repaint-subpixel-layer-in-subpixel-composited-layer.html

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

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