Look ma, no hands!

* dynamically create (almost) all widgets on Program page
* dynamically create People/Documents widgets on all pages
* add "loading"/"loaded" events to TreeView
* fix linking People/Documents to Directive instances