Added some basic picking and raycasting, though it doesn't work fully yet.
Also added:
* Scene loading and unloading (shadowmap doesn't work after reload)
* Some basic memory optimisations
* Looking into extending the rendering process