A very basic SDL game engine with state management