Web Animations: Update Player model to match our interpretation of the spec

This patch updates our model of Player to match more closely the spec's
behaviour. Note that the implementation here is based not directly off
the spec, but off etherpad.mozilla.org/Z0EHDNFfIJ. We believe this is
a clearer interpretation of the spec, and setStartTime behaves nicer
in some cases.

Note that although setPlaybackRate is implemented here, it will not
immediately work once exposed in the bindings as timeToNextEffect is
not currently set up to handle this.

NOTRY=true
BUG=334926

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

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