Improvements to search dialog usability

Changed drone types' toString() names,
Search dialogs are centered on the parent shell,
Selection dialogs don't display tree items that have no children
Reworked the hotkeys system to be more flexible