================
Quaternion Camera
================
In order to rotate using quaternions, we need to convert some vectors
into quaternions, multiply some quats, then rip a vector from the 
resulting quaternion .. its not as hard as it sounds :)
1) convert the View vector into a quaternion called quatView
(Vxyzw=Viewxyz0)
2) convert the Angle/Axis into a quaternion called quatRot
quatRot.x = Axis.x * sin(theta/2)
quatRot.y = Axis.y * sin(theta/2)
quatRot.z = Axis.z * sin(theta/2)
quatRot.w = cos(theta/2)
3) create a conjugate quaternion from quatRot called quatTemp2
quatTemp2.x=-quatRot.x
quatTemp2.y=-quatRot.y
quatTemp2.z=-quatRot.z
4) multiply W=((quatRot * quatView) * quatTemp2)
5) new view vector is in W.xyz
