Web-Animations: Implement idle state for AnimationPlayers

Refactor AnimationPlayer::cancel() to enter idle state rather than nullifying m_source.

Original patch[1] by shans@chromium.org

[1] https://codereview.chromium.org/534193002
BUG=396366
TBR=shans@chromium.org

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

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