desktop.config
This is the way the desktop stores various configuration settings. It is simply a self-sanitizing/unsanitizing javascript object.
You can use dojo.subscribe to subscribe to the "configApply" event. This happens when an app (such as the control panel) makes a change to the configuration. It is invoked by calling desktop.config.apply();
Since we need to make an xhr to get the config, we publish the "configApply" event when the configuration has loaded as well. Functions that only need to be called on startup can unsubscribe from the configApply event when they are called.
When the config needs to be saved, desktop.config.save() is called. It takes one optional parameter, that when true will make the request a synchronous request (useful for when the window is closed).
