Add DragDrop drop target functionality

DragDrop now maintains a list of drop targets. As the draggedItem is
moving around, DragDrop scans the drop targets to see if the
draggedItem item is within any of their bounds. If so, the dropTarget
is notified to update its display (in this experimental case the box's
border is changed from black to yellow). When the draggedItem exits
the dropTarget's bounds the dropTarget is told to clear the drop
(e.g. the border is returned to black).
Add ability to drop an Box onto another

This completes this round of drag and drop functionality.