Drive SVG Animations via requestAnimationFrame

Start using FrameView::scheduleAnimation instead of a Timer for driving
the animations in a SMILTimeContainer.
The timer however remains to use when the next animation event is further
into the future than within the (~) next frame interval. Hence
SMILTimeContainer::m_timer is renamed to m_wakeupTimer.

The animation time from the compositor is plumbed through the layers, but
is not yet used as the "global" clock. That will have to wait for a later
CL.

For the SVG-in-<img> (and similar) case(s),
SVGImageChromeClient::scheduleAnimation is modified to use a fixed frame
interval.
In SVGImage, the initialization of m_page is moved later, to disable any
methods that depend on accessing the SVG root element (prompted by the
need to query if the image has any animations) until the actual document
is loaded/being loaded.

BUG=231576

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168631 bbb929c8-8fbe-4397-9dbb-9b2b20218538
10 files changed