* WIP: initial commit for observatory herald
* Plugin error handling refactor
* make error window non-modal
* tidy up plugin error handling
* first pass for basic herald functionality
* corrections for linux env
* Use FNV hash directly instead of managing through dictionary/index file
* resolve audio queuing issue, switch to personal NetCoreAudio fork
* merge cleanup
* add enable setting, populate defaults
* framework xml doc update
* Adjust settings, add style selection, replace locale with demonym in dropdown list.
* Test is position is on screen before saving/loading.
* use a default that's actually in the list
Addresses 2 issues:
1) If a single plugin class implemented both the Worker and Notifier interfaces, multiple instances of the class were created, meaning no shared state within the plugin. Now only 1 instance is created.
2) Plugins implementing only Notifier weren't properly loaded.