Added a Renderer class to handle setting up OpenGL for rendering

|BUILD CONFIGURATION|
[Linux]
* Added the GLEW library to the list of linked libraries

|SOURCE|
[Common/Game]
* A Renderer instance is created and passed to the GameStateManager
[Common/GameStateManager]
* Added a member function for setting the Renderer instance to use and get it
  for use later
* When a state is popped, it's Exit member function is called before popping
  the state
* Execute calls the Renderer's BeginScene member function before calling the
  GameState's Render member function, enclosed with Renderer's EndScene member
  function to swap the front and back buffers
* Renderer's HandleWindowEvents is used to check if the window is still running
  before continuing with rendering
[Common/GameplayGameState]
* GameStateManager's Renderer is called to set the clear colour to red for
  testing the Renderer is working
* Removed the dummy Update printing the counter amount
[Common/Renderer]
* An OpenGL context is created and a window placed at the user's choosing
* Window events are handled in the renderer, mainly due to the time constraints
  of the competition, it may be too much of a timesink to create a separate
  Window class and it wouldn't improve much