Refactored manager from a template class

The base for all singleton managers now has a base class that will do
all of the singleton management. The texture_manager class now derives
from this base and a empty implementation for a sound_manager has now
been created.

A loader state class (which is an async loader derivative) has now been
supplied. Waiting on further work from the lua config unit before this
class will become usable.