Cache the background tiles and don't redraw them

The first time, the background tiles are drawn and the pixels are saved with getImageData.
Each successive draw will reuse those pixels with putImageData.
Adapt the graph debug to the tile_size and use existing canvas

I didn't understood why should we recreate canvas element and it felt weird while coding so i removed this.
But if it's the right way no problem
Add a bench for the background caching
Draw the map in the dijkstra tests

tests2 pathfinding got broken :(
Merge pull request #7 from Teybeo/draw_map

Draw the map in the dijkstra tests