Made double-tap zoom work in pinch virtual viewport mode. (Blink-interface)

Note: This is part 1/3 in a 3-sided patch. This CL contains interface
changes only.

On the Blink side:
The clamping method used by computeScaleAndScrollForBlockRect now
uses a new method PinchViewport::clampDocumentOffsetAtScale to clamp
the requested viewport offset taking into account the inner and outer
viewports. Added copies of AutoZoom tests that run with virtual-
viewport turned on.

Also added an overload of applyViewportDeltas, called in virtual
viewport mode only, that applies the inner and outer deltas along
page scale in one shot. This makes the viewport layers a special case
again in that their scroll offsets are set through this call, rather
than the standard 'did_scroll' callback of most layers. This is needed
since the scroll offsets may be invalid until the page scale is
applied so this is handled in one method to prevent unintended
clamping.

On the Compositor side:
Calls the appropriate applyViewportDeltas based on which pinch mode
we're running in. The page scale animation now prefers to scroll the
inner viewport first, scrolling the outer only when the inner has
reached its scroll extent.

Blink-side: https://codereview.chromium.org/584833003/
Chromium-side: https://codereview.chromium.org/585063002

TBR=aelias@chromium.org,esprehn@chromium.org,jamesr@chromium.org
BUG=364106

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

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