Pinch/Zoom Infrastructure & Plumbing CL (Prequel)

This CL supplies the necessary changes to Blink to support
the inner/outer viewport model for pinch-zoom and fixed-
position elements. The specification for these changes is
contained in the document "Layer-based Solution for Pinch
Zoom / Fixed Position".

Specifically, it provides the Blink-side infrastructure to
move scroll layers & scrollbars to using a clip-layer to
specify the max scroll offset and scrolbar positioning, as
opposed to pushing a max_scroll_offset from Blink. This
entails a number of changes to the Web* interface classes.

This CL supports the CC-side cl 
https://codereview.chromium.org/23983047/, and must land 
before that CL.

This code has previous review history at 
https://codereview.chromium.org/24302010/.

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

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