[x] Validate property values read from workspaces. (Could use key-value validation, although it seems awkward. Maybe just include a validation block when registering?)
[x] Add server address to title of view controller client plugins
[x] Try to indicate invalid variable names inline (e.g. with a red error indicator next to the text)
[x] Investigate why client still finds variables after experiment is unloaded
[ ] Silence warnings from hidden windows
[ ] Associate preferences with a particular server
[ ] Support multiple window instances for a single server connection. (Need to consider how to store preferences. Need to include controller instance ID in event callback keys. Or maybe leave that up to individual plugins, e.g. they can create a tabbed window themselves?)