Web Animations: Add AnimatedStyleBuilder for applying AnimatableValues to RenderStyles

This patch adds a new class AnimatedStyleBuilder, with a similar
interface as the StyleBuilder but with a AnimatableValue instead of a
CSSValue. This changes the current path of applying AnimatableValues
from: AnimatableValue -> CSSValue -> (via StyleBuilder) RenderStyle
to:   AnimatableValue -> (via AnimatedStyleBuilder) RenderStyle.

For now AnimatableValue::toCSSValue has been removed (we might need it
later when we work on the JS API), which will let us simply store
platform types in AnimatableValues where appropriate (e.g. we can store
a TransformOperations in a AnimatableTransform, which already has blend
functionality).

This patch also adds AnimatableNumber::toDouble/toLength, for converting
to types appropriate for setting on a RenderStyle.

Note that we have also plan on generating the AnimatedStyleBuilder (as
well as CSSAnimatableValueFactory) in the future, and much of the type
information as well as accessor method information is already available
for the StyleBuilder.

BUG=258896

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

git-svn-id: svn://svn.chromium.org/blink/trunk@155770 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Further beef up animation keyframes LayoutTest

- Adding invalid keyframe rules
- Setting keyframe rule keys to an invalid value

R=apavlov

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

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