Fixed translation. I forgot to multiply the movement vector by the INVERSE of the rotation, not the rotation itself. Next up, lookAt.