Joystick properties are now shown when a driver is selected

When the user selects a driver the joystick properties are now shown as
a list of capabilities (buttons, axis). This is a preparation towards
building a more complex GUI where mappings can be defined.

Added the interface SessionObserver that can be implemented by classes
interested in changes to the Session.