Reland "Subpixel precision for clientWidth, offsetWidth, scrollTop et al"

Change clientHeight, clientWidth, clientLeft, clientTop, scrollTop,
scrollLeft, scrollWidth, scrollHeight, offsetWidth, offsetHeight,
offsetTop, and offsetLeft to return precise floating point values
instead of rounded int values.

This matches the latest draft of the CSS OM Specification [1] and the
opt-in IE10 behavior [2].

Feature dashboard entry:
http://www.chromestatus.com/features/5497402177880064

Intent to Implement & Ship:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/_Q7A4AQBFKY/S4ahQ5iE28QJ

R=ch.dumez@samsung.com, esprehn@chromium.org, leviw@chromium.org
BUG=360889
TEST=fast/sub-pixel/cssom-subpixel-precision.html,
     fast/sub-pixel/scroll-offset-precision.html

Originally landed as r173053 and reverted as r173074 due to a browser_test
failure. Re-landed as r173144 and reverted again as r173183 due to android
failures.

Depends on Chrome side change https://codereview.chromium.org/266913008

1: http://www.w3.org/TR/cssom-view/
2: http://blogs.msdn.com/b/ie/archive/2012/02/17/sub-pixel-rendering-and-the-css-object-model.aspx

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

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