Miscellaneous Improvements

Removed the get_drawables() method from the GeoLoader class hierarchy,
as this exposes the underlying container types to the outside world.
And some these GeoLoader don't even use vectors to track their drawables,
like the GroupGeoLoader which traverse Node and plug hierarchies.

The Interaction classes used to use strings for key press events.
However this proves difficult for things like the up and down arrows.
So we now have a KeyInfo class similar to the MouseInfo.

The Click.h/cpp files has been removed and merged into MouseInfo,
is these transform routines are mainly used in association mouse clicks.

Improvements to the TabInteraction use the KeyInfo to move the selection
up or down in the pills.  Mouse hover over pills also works.

Just need to implement filtering and the actual factory call to
create the nodes corresponding to the pills.