When 'running' is manipulated on the scheduler, the play and
playNow functions should basically postpone all playback calls
that come in during running == false, and then start
playing them when running becomes true. I do this change using
a monkey patch on playNow and play.
BUGFIX: PeriodicTimer was launching multiple requestAnimationFrame
thingies if stopped and then started synchronously.