Improve compositor touch hit testing performance by using RenderGeometryMap

When projecting touch hit rects from RenderLayer to GraphicsLayer space we currently compute the mapping independently for each layer.  This change switches to using RenderGeometryMap to incrementally compute and use the mapping while walking the RenderLayer tree.  In my tests this reduced the hit-rect computation time for complex sites by 30%-75% (eg. from 1.6ms for games.yahoo.com to 0.4ms on my fast desktop).

This required adding support to RenderGeometryMap for TraverseDocumentBoundary mode.  In turn this required me to clean up a hack where RenderGeometryMap was overloading the 'offset' of a step to mean one thing for RenderView (fixed-position offset) and something totally different (offset from container) for other renderers.  Since we now need both values for RenderView I added a new offsetForFixedPosition field explicitly, and removed some of the special-case handling that was previously necessary to handle the overloaded field.

This CL also adds a few additional hit rect test cases which are interesting due to RenderGeometryMap implementation.

BUG=263416

Review URL: https://chromiumcodereview.appspot.com/23335002

git-svn-id: svn://svn.chromium.org/blink/trunk@156438 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't need to include armSP.h.

BUG=

Review URL: https://chromiumcodereview.appspot.com/23295019

git-svn-id: svn://svn.chromium.org/blink/trunk@156439 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Restore clip coalescing for multiple normal box-shadows.

A similar change was previously committed as r151971, but was reverted
(inadvertently) as part of another change.

BUG=244419

Review URL: https://chromiumcodereview.appspot.com/22923021

git-svn-id: svn://svn.chromium.org/blink/trunk@156440 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Introduce toSVGRadialGradientElement(), and use it

As a step to clean-up static_cast<SVGXXX>, toSVGRadialGradientElement() is added to clean-up
static_cast<SVGRadialGradientElement*>.

BUG=N/A

Review URL: https://chromiumcodereview.appspot.com/22897011

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