|SOURCE|
[Utility::Grid]
* Stubbed-out the Render member function and defined the other memeber
  functions
* Initialise just sets the corresponding member variables to the parameters
  passed in with no error checking
* Constructor does not set the member variables to sane values
|SOURCE|
[Common::Utility::Grid]
* GLSL shader code takes in a projection*view matrix and a colour, which is
  used to determine how the lines are rendered
* Member variables set to sane values in the constructor
* Allocated memory is cleaned up in the destructor
* Render accepts a projection*view matrix to render the grid to
* Initialise sets up the vertices, indices, and shader
[Common::Renderer::GLModel]
* Using zedSafeDeleteArray to minimise typing errors for deleting the memory
  allocated by the initialisation of the member variables
[Linux::Renderer::GLShader]
* Compile will either interpret the provided string as a file or as one string
  of source code (with line breaks) according to the FromFile parameter
|BUILD CONFIGURATION|
[Linux]
* Removed Utility's a.cpp file, as the Makefile was all that was required to
  trigger building the Utility library
|SOURCE|
[Common::Utility::Grid]
* Added support for creating a plane on the XY axis
* Offset is applied to the remaining axis depending on the plane used
* Fixed setting the projection*view matrix when rendering
[Linux::Renderer::GLExtender]
* Added zglUniform4fv binding
[Linux::Renderer::GLShader]
* Added support for setting the ZED_FLOAT4 data type in the shader
[Linux::Renderer::LinuxRendererOGL3]
* Constructor sets the shader support variable to true by default
|SOURCE|
[Linux::System::LinuxWindow]
* Replaced window attributes' duplicate KeyPressMask with KeyReleaseMask, as
  the event was uncaught in the input manager
|SOURCE|
[Common::Renderer::FreeCamera]
* FreeCamera is a six-degree of freedom camera system
* Rotate and Move accept a rotation and velocity, respectively to manipulate
  the orientation and position
|SOURCE|
[Common::System::Window]
* Added pointer-related member function for positioning the pointer relative to
  the window
* Added member functions to grab and release control of the mouse and keyboard
[Linux::System::LinuxWindow]
* WarpPointer ensures the position passed in is within the bounds of the window
* GrabKeyboard and GrabMouse return success or failure depending on if the
  device was grabbed or not
* ReleaseKeyboard and ReleaseMouse attempt to release the keyboard and mouse
  without any error checking
|SOURCE|
[Common::Utility::Grid]
* Added a default constructor with no parameters
Merge branch 'window_manager' of https://github.com/OpenGameDevelopers/ZED into utility_grid
|SOURCE|
[Common::Renderer::Camera]
* PerspectiveProjection sets the projection member variable, which is accessed
  via the Projection member function
Merge branch 'window_manager' of https://github.com/OpenGameDevelopers/ZED into camera
Merge branch 'utility_grid' of https://github.com/OpenGameDevelopers/ZED into camera
|SOURCE|
[Renderer::FreeCamera]
* Removed the debug messages for the camera
|DOCUMENTATION|
[File Formats]
* Mesh data added to the file format specification
Merge branch 'unstable' of https://github.com/El-Rico/ZED into unstable

Conflicts:
	Docs/Publish/File Formats.pdf
	Docs/Raw/File Formats/File Formats.odt
|DOCUMENTATION|
[File Formats]
* Added changes which were not present in unstable at the time of commit
|BUILD CONFIGURATION|
[Linux]
* psdocs rule should correctly create PostScript files and place them in the
  /Docs/PS directory

|DOCUMENTATION|
* Removed all PostScript files
|SOURCE|
[Common::Utility::Grid]
* Vertices for the grid allocated on the heap instead of the stack (which now
  allows for large grids)
|SOURCE|
[Common::Arithmetic::Quaternion]
* Component constructor and Set member function expect w, x, y, z, instead of:
  x, y, z, w
* Default constructor sets the W member variable to one, creating a quaternion
  with no rotation
* Added multiply and assign-multiply operators
* Normalise added, will modify the existing quaternion
* Magnitude and MagnitudeSq added, will not modify the existing quaternion
* Conjugate will return the quaternion's conjugate, while not modifying the
  current quaternion

[Linux::Arithmetic::Quaternion]
* Magnitude returns the length of the quaternion
* MagnitudeSq returns the squared length of the quaternion
* Normalise modifys the quaternion, turning it into a normalised version of
  itself
* AsVector is stubbed out
* IsUnit is stubbed out
* Assignemnt operator is stubbed out
* Copy constructor is stubbed out
* Multiply will return the product of the current quaternion mulitplied by
  another quaternion without modifying the current one
* Assign-multiply will return the product of the current quaternion multiplied
  by another quaternion, storing the product in the current one
Merge branch 'arithmetic' of https://github.com/OpenGameDevelopers/ZED into camera