Web Animations: Resolve Player start and current times asynchronously

As the Web Animations API cannot synchronously influence animations executed by
the chromium compositor, the times at which operations like play() and pause()
take effect cannot be accurately determined independently by the main thread.
Instead, such operations are asynchronous in the Web Animations model. For
example, playing an animation which is idle will place the animation into a
pending[1] state where the start time is unresolved[2]. Asynchronously the
start time will be resolved and the player's timing model updated. The player
may always be forced into a known state by setting these values explicitly.

In this patch, unresolved start and current times are represented by NaN,
this will soon change to either null or another sentinel value.

Note: This API remains guarded behind the WebAnimationsAPI runtime flag.

[1] Subsequent patches will expose this state via AnimationPlayer.playState.
[2] http://dev.w3.org/fxtf/web-animations/#dfn-unresolved

BUG=396372

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

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