Very base framework

The base framework that I normally use for developing games.
Application Class - Encapsulates the window and event mangement, as well
as allowing easy access to a render context from #including application
in the .cpp file and calling Application::GetWindow(). (Note : Try to
avoid doing this below the state level, passing it through with
(RenderWindow &window) is cleaner imo)

StateManager - A tried and tested finite state machine, to change state
you can just call SwitchState() from inside any state and the
statemachine will handle it automatically.

State - The base state class, pure abstract, game states are extended
from this and they all work nicely in the state machine