Cleaned up code.
Fixed some memory leaks involving Character, GUI and RenderableComponent.
Switch to catching exceptions on new.
Refactored rendering for GUI and Character to use RenderableComponent data.
Preparing Layer for Graphics optimisations.
Removing z-coordinate from drawing code and fixing a seg fault
Locating Opengl rendering bug
Fixed Opengl not rendering bug - in the map_viewer, setting display width
Map refocussing now uses the GameWindow resize callback
GUI now correctly resizes components and handles mouse clicks for the resized components
Cleaning up MapViewer
Fixed bug
Adding functionality to update tiles
Map layers and tiles can now be updated for both sparse and dense layers
Layer data structure is now updated when a tile is added or changed
Mappings added in for sparse layers that correctly update, allowing inserting tiles into sparse layers
prepared for final graphics optimisation
Adding map.hpp edits
Merge branch 'master' into graphics-optimisations

Conflicts:
	src/character.cpp
	src/engine_api.cpp
	src/map.cpp
	src/map.hpp
	src/map_viewer.cpp

Fixed conflicts. A few more things need to be done for graphics optimisatins but, Heidi needs the restructed
code merged into master before she branches off.