Use LayoutRect during addFocusRingRects to avoid loss of precision

Previously we use IntRect to store focus ring rects during
addFocusRingRects(). This causes 1-pixel offset or size error when
the result is offsetted again (e.g. when the focused element contains
layers).

Use LayoutRect to avoid errors. Also avoid pixel-snapping when passing
additionalOffset.

BUG=405422
TEST=fast/sub-pixel/focus-ring-around-sub-pixel-layer.html

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

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