Run the main emulator loop with a timeout
Run the main emulator loop with a timeout

The timeout makes it we can update the screen and poll for events at a
fixed rate.

Also, create multiple SDL surfaces so we can delay flipping them until
16.74ms have passed (~60fps). This should make the rendering smoother.

binji/binjgb,binji/binjgb,binji/binjgb