The TreeBrowser class.
This class is a generic framework to browser any hierachical structure.
Genericity is obtained through the use of 'handlers': the TreeBrowser
itself does not perform any action in response to user events, but simply
forward them as notifications to handlers.