The ResourceManager provides a unified interface for accessing resource
data, embedded or from the filesystem, with
initialization/deinitialization handled automatically behind the scenes.
It also keeps from creating duplicate resources (e.g. when two
ImageComponents use the same image file).
Audio still needs to be moved over to it.
SDL_mixer is not in the standard SDL distribution. The mixing is now
done using regular SDL_Audio functions. AudioManager is converted to a
singleton and std::shared_ptrs are used for all Sound objects. Note that
for GCC "-std=c++11" might need to be added to the CMAKE_CXX_FLAGS.