File system is now a singleton, RoomReader loads 1 room at a time, World stores 1 room at a time so we can load a new room by directly using the filename stored in the exit door, cleaned up Texture class to double check file format and support RGB & RGBA