GRIM: Fix the head tracking broken by the changes to Rotation3D

When updating the Rotation3D implementation, I missed that the position portion of the rotation matrix was retained after building a rotation. The second patch addresses that. This patch also adds a fix for gimbal lock for the ZXY (ResidualVM default) case of getXYZ. I'll implement the others later, as needed.