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.
Yes. It makes onmatch work. If onmatch is present, but onunmatch isn't, onmatch might short-circuit bypassing some handlers.