Speed Control Callback
Movie player callback.
The goal here is to play back frames at the original rate. This is done by introducing a pause before the frame is submitted to the renderer.
This is not coordinated with VSYNC. Since we can't control the display's refresh rate, and the source material has time stamps that specify when each frame should be presented, we will have to drop or repeat frames occasionally.
Thread restrictions are noted in the method descriptions. The FrameCallback overrides should only be called from the MoviePlayer.