Improve the game loop

It can now skip frames. Replays are a *lot faster* on the "max speed" setting.
Moving this from the end of the tick to the start of the next tick may have unexpected side-effects.  This was previously be called after the logic ticks but before the rendering.  This will now have a render tick in the middle, which may show inconsistent state.