using Quaternion to control rotation operation in OpenGL Camera