Web Animations CSS: Sample and snapshot new animations during resolution

In r155386[1] a simple strategy was planned for snapshotting and sampling of
new animations. It assumed that it was safe to apply the first keyframe of
an animation immediately, however this approach did not account for
animations with negative delays and various fill modes. Further, snapshotting
of missing keyframe values was happening after other animations had a chance
to apply.

To avoid these problems we need to evaluate the timing model and sample
the effect during style resolution.

This patch introduces the following changes:
* Inert animations are constructed and sampled during style resolution.
These animations are detached from other animation state (they are not
added to the list of active animations and do not fire events).

* The application of animated properties during resolution now happens
after all other properties have been applied. To meet the requirements of
css3-cascade any important rules (expected to be limited in number) are
then reapplied. This should allow the separate animation pass added in
r154056 to be reverted.

* CSSAnimationUpdate has been augmented to hold on to the Inert animations
so that after resolution has finished we can construct/start actual
animations that have the same timing and effect (same snapshotted values).

* The CSSAnimationUpdate calculated during style resolution is now threaded
out of resolution and added as a pending update on CSSAnimations.

* CSSAnimationUpdateScope augments the scopes where we apply new render
styles (Element style recalc, and the initial construction of the render
tree from NodeRenderingContext) and triggers application of the update.

[1] http://src.chromium.org/viewvc/blink?view=revision&revision=155386

BUG=258896

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

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