Simple implementations for Level and Display

Level: done (made small change to interface: added virtual destructor)
Level0, Level1, Level2 not touched
Added LevelTest, which generates random basic tiles
Display: Done
TextDisplay: Done
GraphicalDisplay: added some commented-out code which can be used later

Made significant change to all Display interfaces: only GraphicalDisplay
needs to keep track of which squares were previously drawn to, so that
functionality was moved out of Display and into GraphicalDisplay.

Added a DebugDisplay: Singleton wrapper for TextDisplay.  Call
DebugDisplay::printBoard() to print the board wherever you want - Board
includes it, so wherever Board is known, DebugDisplay is known.
Fixed a small mistake

sorry