sort of got a camera working. the quaternion/matrix math is working, but the actual camera rotation algorithm is definitely incorrect