Web Animations: Update outdated players as part of the render tree update

In Web Animations, updates to the animation model are live[1] and should be
visible immediately to queries. In Blink, updating of the model is deferred
until necessary. Previously there were hooks in getComputedStyle and following
animation frame callbacks[2]. However these were not sufficient to cover all
forms of effect queries, eg. synchronous layouts. This patch ensures that
animation timing is always brought up to date as part of the render tree
update. This has the additional benefit that the timing update following
animation frame callbacks can be deferred.

This is a speculative reland of r172844[3]. In the previous patch there were
still cases where players could be outdated at the end of a render tree update.
This would result in duplicated timing updates and subsequent style recalcs.
This version of the patch ensures that no outdated players exist at the end
of the render tree update by updating the way in which we check for outdated
players and forcing on-demand updates as necessary.

[1] http://dev.w3.org/fxtf/web-animations/#script-execution-and-live-updates-to-the-model
[2] https://src.chromium.org/viewvc/blink?view=rev&revision=170169
[3] https://src.chromium.org/viewvc/blink?view=rev&revision=172844

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

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