Finalized map storage method

I decided to store the maps in a multidimensional dynamic array since
using both std::list and std::vector as storage results in the objects
contained within them to be destroyed once the original object goes out
of scope.

Additionally, friendship between the Tile and Level classes was added to
reduce the need of multiple getters to access Tile members from outside
the level class.