Bug 927349 part 22 - Make AnimationPlayer wait for animations to be rendered before starting; r=jwatt

This patch (finally!) introduces the delayed start behavior. It updates
AnimationPlayer::DoPlay to put animations in the PendingPlayerTracker from
where they are triggered.

This patch also updates nsTransitionManager to set the animation's source
before calling Play as otherwise the AnimationPlayer won't be able to access
the pending player tracker (which it locates by navigating AnimationPlayer ->
Animation (source content) -> target element -> composed doc -> pending player
tracker). In future, when we support setting the AnimationPlayer.source property
we will make this more robust so that the order in which these steps are
performed doesn't matter.

This patch also updates a couple of tests to reflect the fact that
AnimationPlayer will now return the pending state.
Bug 927349 part 23 - Wait on player.ready on test_running_on_compositor.html; r=jwatt
Bug 927349 part 24 - Add a test that empty animations still start; r=heycam
Bug 927349 part 25 - Test cancelling of players; r=heycam
Bug 927349 part 26 - Add a test for compositor animations with a delay; r=nical

This patch adds a test that we correctly incorporate the delay when setting
a layer animation's initialCurrentTime.

The notion of 'current time' on layer animations differs from that on main
thread animations in that it does not incorporate the animation delay.
Instead, we wait until an animation's delay has complete before putting it
on the layer and then it we add without delay.

For animations that are still waiting to start we need to factor this delay into
the initialCurrentTime stored on the layer animation so that when we update
the animation's start time it represents the time *after* the delay has
finished. Previously we failed to do this but no tests failed since all existing
tests for delay rely on DOMWindowUtils.advanceTimeAndRefresh which avoids this
particular code path (since we don't add pending animations to layers while
the refresh driver is under test control).

This patch adds a test for animation delay that does not rely on
DOMWindowUtils.advanceTimeAndRefresh which has been confirmed to fail if we
don't incorporate the delay in our calculation of initialCurrentTime.
Bug 927349 part 27 - Make DevTools actor wait on ready promise when playing; r=pbrosset
Bug 927349 part 28 - Call AddLayerChangesForAnimation after updating style; r=dbaron
Bug 927349 part 29 - Disable failing browser_555547.js on Windows opt; r=me (as discussed with jwatt)