Made loading TileMap's more efficient

Now, instead of (widthInTiles * heightInTiles) draw calls to the GPU
every cycle of the main loop, it will only do that once per screen,
saving it to an intermediary ALLEGRO_BITMAP* - each subsequent call of
drawMap simply blits the pre-assembled screen to the backbuffer.