basic state and event management

created a state manager and state interfaces, as well
as the base states for the prototype.
created an general purpose event manager. will be used
at some time in the future to ensure communication
between the game its states and the component systems.