Proper game shutdown

As Game is singleton, destructor is never called. This leads to situations, when, for example, ResourceManager is destroyed before AudioMixer, and lead to segfault (because SDL_mixer runs in separate thread)
Also renderer should be destroyed last, as UI subclasses call unregisterTexture on destroy.
This should fix this.