Added some kind of click and selection handling

Supports handler definition by both inheritance and callbacks.
It is to be seen whether this is a good thing or not...
Added format_item for non-text items