Turn into an extension for this listview widget.

simplifies event bindings and makes dynamic lists possible also allows disableing
of the feature via option setting fixes protocols in demo

Fixes #2