Beginning work on migrating Texture to a template class to handle different texture types, however specializations of the constructor to call the correct SOIL_load_* are needed so it's not really functional at the moment