This was causing a bit of a headache because the event names could be
really really long. They're also not useful for everyday use, but for
package authors, so lets make them less prominent.
Clearing the mini editor when closing is something
all sub-classes were already doing so it makes sense
to pull it up to the base class as the default
cancelled() implementation that can still be overridden
if needed.
Previously if the select list was cancelled with no open
editors the mini editor would be given focus before being
detached causing nothing to have focus after detach completed.
Now the select list tracks the previously focused elements and
restores focus to that element at the end of the cancel.