Improve the game loop

It can now skip frames. Replays are a *lot faster* on the "max speed" setting.
> I think you'd be better to pull out named functions than have commented named blocks.

I agree, I will do that.