Added method to map Cells to CellPanels.
Implemented the ToolListener interface in the MapCell.  Also, I realised that having the anonymous class inside the CellPanel rather than extending my own MouseAdapter gives me cleaner access to the CellPanel.  The inline notation might not look as clean, nor might it be as easy to unit test, but this is coming at the end of five or six hours of solid work and it's the best that my addled brain can come up with right now.
Now passing the MapToolbar to the MapPanel so that it can register each of the MapCells as ToolListeners.
MapPanel now registered each CellPanel as a ToolListener.
Implemented the Observer pattern here.  The MapToolbar is now the observed object, specifically the currently selected tool.  When this changed, the toolChanged() method is fired in each of the listeners, keeping them up to date as to what tool is currently selected at all times.
Changed propagated through from change to Tool interface: mousePressed() is preferable to mouseClicked().
Changed propagated through from change to Tool interface: mousePressed() is preferable to mouseClicked().
Changed propagated through from change to Tool interface: mousePressed() is preferable to mouseClicked().
mousePressed() is preferable to mouseClicked().