|SOURCE|
[Common::System::OS]
* GetOSFullName returns the complete OS-specific identifying information
[Linux::System::OS]
* GetOSFullName calls uname to retreive the name, machine type, release name,
  and version of Linux running
|SOURCE|
[Common::Renderer::Text]
* MeasureString will accept ZED_NULL values for the width and height, however,
  the string must be provided
* When a ZED_NULL value is passed for the width or the height, the respective
  parameter will be ignored when returning the width and height of the string
|SOURCE|
[Common::Renderer::Text]
* MeasureString will return ZED_FAIL upon both the width and height being
  ZED_NULL
* Added helpful error messages to MeasureString on failure
Merge remote-tracking branch 'origin/renderer_text' into system_input
Started to work on using XInput for handling input devices on Linux

|SOURCE|
[Common::Arithmetic::Arithmetic]
* There is a macro "Absolute" in XI.h which will replace the
  Arithmetic::Absolute with the value Arithmetic::1, it is #undef'd to make
  sure it doesn't interfere with the function name
[Common::System::InputDevice]
* Started to add XDevice information for the Linux build
[Common::System::InputManager]
* InputManager has an array of input devices instead of one device per input
  type
[Linux::LinuxInputManager]
* NATIVEINPUT serves as a way to attain the input device state
* Initialise initialised on a per-device type basis each input device detected
  and stores them in the real input device list