Web Animations: Trigger and update CSS Animations backed by the Web Animations model

This patch introduces CSSAnimations which tracks the state of active CSS Animations for
a single Element. CSS Animation updates are calculated and effects applied during the 
style resolution process (rather than post resolution as in the current implementation)
to allow our implementation to move towards the behavior specified by the CSSWG -- that
is, animations should apply as part of the style cascade before !important rules
(see http://crbug.com/232273).

This patch creates Keyframes from raw, unresolved CSS Values. A change is in progress to
implement a factory for AnimatableValues which will allow reading of the appropriate
resolved values from the render style (as the current implementation achieves by stashing
away an entire RenderStyle. See StyleResolver::styleForKeyframe and CSSPropertyAnimation).

This patch changes the lifetime of active CSS Animations to be managed by the Element (as
long as it is attached). In the current implementation active animations are owned by the
renderer but this has the consequence that animations are restarted on reattachment
(see http://crbug.com/265302).

Note that changes introduced by this patch are not yet shipping, they are governed by the
WebAnimationsCSS runtime feature and --enable-web-animations-css flag in Chromium.

This change is covered by existing layout tests in LayoutTests/animations/ -- however at
this point these tests are still being run manually as there are several other dependencies
before it will be feasible to enable the virtual suite for CSS Animations backed by Web
Animations.

BUG=258896,265302,232273

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

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