Implement support for caching of userSettings. Every tipi that wants to
use the userSettings has to define a settingsService which the java will
read from (at initialization & at reload of the data) and write to (at
disposal). Initially calling this service and at the end doing something
with the changed information is up to the application itself.
Support initially configured and verified for Swing. Shouldn't be much
work to extend it to others.

Also:
- Improved handling of closing. Close button = menu option. Closing is
done in a separate (non-daemon!!) thread. Closing disposes all active
components.
- The onWindowClosed event of init.xml actually fires at the correct
spot now and can break the closing process.