ListWidget.getValue now returns a list of proxies.

A call to listWidget.getValue().get(index) now returns a proxied model,
such that any bound widget will be updated on change of state.

Added proxy caching to DataBinder, and static method getProxy for making
new proxies or getting previously cached proxies.