|SOURCE|
* Updated all references to ZED::System::ZED_WINDOWDATA to
  ZED::System::WINDOWDATA
Merge branch 'window_manager' into input

Conflicts:
	Source/Common/Headers/System/Window.hpp
Merge branch 'window_manager' of https://github.com/El-Rico/ZED into input

Conflicts:
	Source/Common/Headers/System/Window.hpp
|SOURCE|
[Common::System::Window]
* Did not check the previous merge message, fixed the issue of merge markers in
  the source
|SOURCE|
[PandoraLinux::System::PandoraLinuxInputManager]
* Implemented most functions from the Linux X11 implementation
* RepeatKeyPress not yet implemented
* MapKeyToChar not yet implemented
Merge branch 'input' of https://github.com/OpenGameDevelopers/ZED into input
|SOURCE|
[Linux::Renderer::LinuxRendererOGL3]
* SetRenderState renamed to RenderState
|SOURCE|
[Common::System::Mouse]
* Added Mouse class header to build upon InputDevice
[Linux::System::LinuxInputManager]
* Check for pointer button added, prints out the button press and release
  events to the terminal
|SOURCE|
[Common::System::Mouse]
* Added accessors and manipualtors for the buttons and pointer position
[Linux::System::LinuxInputManager]
* Added a mouse to the input manager
* A mouse can be registered with the input manager and it is updated in the
  Update member function
|SOURCE|
[Common::System::InputTypes]
* Added a struct to keep track of the mouse state
* Added 32 mouse button event flags (doubtful there will be a 32-button mouse,
  but just in case...)
[Common::System::Mouse]
* ButtonUp and ButtonDown work as expected, before the flags were not being
  bit-shifted which was causing a lot of problems.  Some debug code has been
  commented-out and will be removed once the mouse is deemed satisfactorily
  working.
* Buttons are kept in a 32-bit unsigned integer instead of an 8-bit byte
* Constructor sets the variables to sane values
* State member function does nothing right now
[Linux::System::LinuxInputManager]
* Constructor takes a WINDOWDATA structure instead of an X11 Display, as the
  X11 Window is needed
* Mouse wheel events are handled by adding one millisecond to the time on the
  release event, as the release event is sent at the same time as the
  pressed event
|SOURCE|
[Linux::System::LinuxInputManager]
* Update maintains the scroll wheel up and down event time, and dispatches
  another copy of the release event one millisecond after it was fired
|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