The new class QuickSelectionEngine outsources the list boxes
functionality to select entries by typing the letters they start with.
ISearchableStringList acts as callback to the concrete class whose
string entries are searched this way, so it needs to be implemented by
classes which want to use the QuickSelectionEngine. Also, key events
need to be forwarded the engine's HandleKeyEvent method.
The ListBox has been adapted to use the QuickSelectionEngine class.