The matrix class now supports lookAt

TODO: Need to rewrite the matrix, quaternion and vector classes
to not be class. They should be simple arrays with functions acting on
them.
Matrix inverse had a bug. It's rewritten
Shadow maps are now functional

TODO: clean up the fucking code
Lighting is functional

TODO: Rewrite this ass code