Engine::
- Rotation: use quaternion due to gimbal lock(discovered it while writing the model viewer), need to see how to remove matrix/quaternion redundancy
- Camera: small improvement