Add support for user-selected and automatic frame skipping. Add support for PAL timings (20 ms per frame).

User-selected frameskip causes slowdowns if the game runs slower than the resulting frame rate, but synchronises correctly if the game runs faster.

Automatic frame skipping is still the default. It now only skips up to 8 frames, but in some games still skips that entire 8 frames. What's needed is an algorithm that averages frame latencies over a few seconds and skips while the latency is LOWER than the average.
Add a section about frame skipping in the readme.
Fix an off-by-one in the manual frameskip code. It would raise the sound speed by 25% if frame skip 3 (Show 1 in 4) rendered a frame early.

Optimise the controller code. I don't expect to allow remapping any time soon, because the DS has buttons for every single SNES controller button and nothing more.
Smooth out the automatic frame skipping such that it doesn't go from 1 FPS to 8 FPS right away and constantly. The equivalent frame skip will be 2, 3, 5 or 8 most of the time, depending on the game, and will vary a bit depending on rendering demands.

For example, the frame skipping in Super Mario World is 3 on the map and in graphically simple levels, and 5 in complex levels.
Add a bit that tolerates 1/16 latency per frame in automatic frameskip mode.

Remove old automatic frameskip code.
Revert "Add a bit that tolerates 1/16 latency per frame in automatic frameskip mode."

This reverts commit d9b6322caafcbd355848a32acd8b8c0fa1746264.
Add hard-coded speed hacks for Super Mario All-Stars & World.

Adjust the automatic frame skipping code to require auto_equivalent_skip to be greater than 0 before reducing the skip if it's early. Otherwise, we end up with overflow, thus skipping 4 billion frames.