Adding in basic game state flow
Fixing merge conflict
Fixed KeyboardInput, added new input buttons
Added foreground background to stage select
Made Menu work based on Input changes

This is different than how Guichan widgets usually handle events. This
uses the virtual game pad so that input is uniform.
Added opacity to Icon and fixed rendering
Re-implemented the stage select GUI with components
Added InputService, a decorator for Inputs
Updated Input and added global input service to client
added stopAllSamplers to sound stream

Now it is possible to stop music and play another track
Changed game states to improve input and sound