handle error loading libraries

(loading the libraries normally never happens)
automatically update open preferences tabs on changes

This commit ensures that the preferences pages *always* display the correct
preferences. This means that a preferences page listens on preference changes
and updates its contents on an event.

A related/similar commit is cdf5713.