Cleaned the code a bit
added some mouse input, it does not work quite as intended
Changed getspirite and getcollider methods to empty virtual methods instead of pure virtual ones. Not all objects will have a collider and/or sprite.
Changed name "FileReader" to "DataFromFile". New name is better suited and more descriptive.
Changed GetCollider and GetSprite back to pure virtual again. Can't have them as virtual in entity since they need to return a sprite* and a Collider* respectively. Will need to think about how to make objects that inherit from visible but not collidable. I guess I'll make a separate inheritance class that contains nullpointers for the getsprite and getcollider methods.
Removed timer from preload state, it was only there so I could se that the loading image displayed during preload was looking ok.