Added support for game states (using State pattern)
Added a simple GUI layer for simpler UI development.

Its really just a simple Widget and Button class which I'm going to
extend with a ButtonList in the future (with keyboard support).