front: Refactored CoreInterface, GameLifecycleHandler, GameSurface.

Emulator lifecycle management is more consolidated to CoreInterface
now.  Less coupling between the classes.
sdl/front: Eliminated thin wrappers in NativeMethods.java.
cleanup: Rearranged lines of code with no other changes.
front: Simplified some mechanics in CoreInterface and cleaned up a bit.

Audio thread is killed after emulator shuts down.
Audio thread is killed before a new audio thread is started, in case
the last thread wasn't killed properly.

Eliminated some functions by simplifying some code.

Changed some variable/method names for more consistency/clarity.
front: Moved FPS calculations from GameSurface to CoreInterface.

More compartmentalization of logic to where it ought to be.
Merge remote-tracking branch 'origin/littleguy/experimental'