Better console logs for some errors, plus small other fixes

Better console logs for some errors:

- Improved error reporting for swallowed exceptions in ProjectModel, AppInit, FileTreeView (show stack and actual exception message)
- Clearer error message when extensions fail to load due to requiring a non-existent module

Additional small cleanups:

- Fix ThemeSettings dropdown change listener so it is properly specific
- Docs improvements for tree & working set decorators
- Several other docs tweaks
@ingorichter The param is always a callback.  It's just that its return value can be either a string, a jQuery object, or a DOM Node.  The existing docs only listed `string|jQuery` and I'm ammending it to `string|jQuery|DOMNode`.