|SOURCE|
[Common::Utility::FreeCamera]
* Update correctly positions the camera with the right, up, and direction axes
|SOURCE|
[Common::Utility::FreeCamera]
* Reversed the direction vector in Update to correctly orientate the camera
  (the objects in the world seemed to be getting rotated as if the camera were
  orbiting them, rather than they orbit the camera)
|SOURCE|
[Common::Utility::Camera]
* Commented out debug messages which could be useful in the future (possibly
  add some kind of boolean value to toggle them?)
[Common::Utility::FreeCamera]
* Removed useless debug message for position in Update
|SOURCE|
[Common::Utility::Camera]
* Added a copy constructor which only copies the orientation and position of
  the camera, not taking along the projection or view
* Added an assignment operator, which, like the copy contructor, only copies
  the orientation and postion of the camera being duplicated
* SetOrientation takes in a Quaternion representing the orientation of the
  camera and sets the current camera's orientation accordingly
* GetOrientation returns the orientation of the current camera as a Quaternion
[Common::Utility::FreeCamera]
* Removed redundant member functions and variables
* The orbit was not necessary when the new calculation of the orientation was
  implemented
* The Euler-based Rotate is largely useless as it's just simpler to represent
  the change in orientation as an angle-axis pair
|MERGE|
utility_camera into unstable