BUG Make UI widget destroys more consistent to avoid exceptions.

Selectable would throw an exception in the GridField.js if destroy
called from onunmatch - at that stage jQuery UI would have had called
the destroy already. Add a guard, and change to onremove, which triggers
before the element is removed from DOM.
Wasn't our revelation that onunmatch relies on onmatch, but not the other way around?