Redesigned parts, fixed bug, see description

moved messages into their own namespace
un-singletoned settings loader and made it more like a component
Made Game::Run a function rather than a static class member using
unnamed namespaces
Fixed window destruction problem