Small improvement in controller.py

Only check for movement if the player moves in a direction.
Expand Dungeon constructor to accept a map.

Dungeon can receive a width and height only and created an empty
map or corresponding size.
Dungeon can receive a width and haight and a list of strings
representing the dungeon map. Convention is # for wall and white
spaces for empty tiles.