Implemented a rudimentary asset system

- Added an asset manager
- Texture manager now does callbacks for every image
- The perk now only stores a texture id
- Added totally not-fancy loading screen
Switched to using the sourceRect in the texture object