Resource management refactor

Alternative to #70
Fixes #67, Fixes #69, will cause merge conflicts with #71

With this technique, you extend `ResourceManager::Resource` for each kind of resource you want, and then from a `ResourceManager` instance you request specific resources of specific types. It's not a singleton anymore, instead there is a `ResourceManager` per instance of `Application`. Also, there is a template class `SfmlFileResource` which can be instantiated for any `sf::*` class which has a `loadFromFile` member function. It can be implicitly converted to the SFML class.