Cleans up map extent events from Ext components

Fix for issue #984 JS Console errors when re-adding a layer after a
bounding box has been drawn. The issue stems from Ext components having
to register listeners with the map, which is of course OpenLayers, so
when the Ext components are destroyed their listeners are still
registered with the map. This change ensures they are removed when
components are destroyed.