Added Spatial::Vector2 struct and Spatial::Direction4 enum.
Spatial::Vector2 type uses GLfloat instead of double.
Observer::Window now deals with user keyboard input.
Game class now pass on user input callbacks in GameState::SetupContext.
MenuRoot now has user input mock handlers.