Added undo support and bitmap creation listener

Added undo support to the DynamicGridView component (which can be toggled and is off by default). This allows the user to revert the last or all modifications made to the grid by drag and drop actions.

I also added a new listener to provide a callback before and after the bitmap for the initially selected view is created.  This allows temporary modification of the selected view so that the bitmap used can contain extra indicators and/or data.