|BUILD CONFIGURATION|
[Windows]
* The game is now dependent on the SDL_image library

|SOURCE|
[Common::BaseGameEntity]
* BaseGameEntity is responsible for being the common base class which all
  in-game entities derive from
[Common::BaseGameEntityRenderable2D]
* This class handles representing an entity with a texture
[Common::Player]
* The game's main protagonist
[Common::Game]
* The window created has more information about the game, such as the build
  information
* SDL_Init and SDL_Quit are employed appropriately
|BUILD CONFIGURATION|
[Linux]
* Added the SDL2_image library to the Makefile

|SOURCE|
[Common::BaseGameEntityRenderable2D]
* LoadTexture checks if the SDL_Renderer is valid before attempting to load a
  texture
|SOURCE|
[Common::BaseGameEntity]
* Added a member function, GetType, which can be used to retrieve any relevant
  information from the derived class without knowing the derived type
[Common::BaseGameEntityRenderable2D]
* GetType returns LD_RENDERABLE_2D
* Constructor and destructor handle nullifying objects and deleting them,
  respectively
[Common::DataTypes]
* Added a helper function, ldSafeDelete, to make sure the pointer it's deleting
  exists and sets it to LD_NULL afterward
[Common::Game]
* Added an instance of GameEntityManager which will handle the life of game
  events
[Common::GameEntityManager]
* This class handles the life cycle of game entities, which are able to be
  renderable and updatable
|SOURCE|
[Common::BaseGameEntity]
* Added a constructor to set the m_Types member variable to zero so it can be
  used by OR-ing it in Initialise in derived classes
[Common::BaseGameEntityRenderable2D]
* Added member function SetPosition to set the top-left X and Y co-ordinates
  of the texture
* Renderer member function made virtual to allow for derived classes to do more
  than just rendering the texture if they need to
* Initialise member function sets the types the class represents
  (LD_RENDERABLE_2D)
* Render member function checks if the texture is valid before attempting to
  render, though, the renderer should also be checked, this is already checked
  when setting the texture
[Common::Player]
* Added a SetVelocity member function, which will be updated to re-caclulate
  the position of the player
[Common::Game]
* GameEntityManager is created in Initialise
* A Player is added to the game entity manager to test the rendering of the
  main player character
* Render member function calls the game entity manager's Render member function
[Common::GameEntityManager]
* AddEntity will call the entity's Initialise member funciton to ensure it was
  successfully created before adding it to the array, returning LD_FAIL if it
  did not success in initialising the entity
* Render calls the entity's Render member function and the iterator is
  incremented at the end of the while loop so the next entity is processed
|SOURCE|
[Common::BaseGameEntityRenderable2D]
* Added member function LoadContent, which loads graphical assets for the game
  entity, this must be implemented in derived classes
* From the test texture, Render positions the texture in the centre of the
  screen
[Common::GameEntityManager]
* SetRenderer member function stores the pointer to a SDL_Renderer in the class
* When AddEntity is called, the entity is checked if it is a renderable entity,
  if it is, then the class is cast to an appropriate type and the member
  functions related to initialising rendering are called
[Common::Player]
* LoadContent will load a test texture
[Common::Game]
* The game entity manager's SDL_Renderer is set after it is allocated