Added init_action and rework the widget-data storage

Made the init_action actually do sth: Check the comment in the widget
class for information on how to use it.
Added a modular config UI to use with this option.
Also allowing now widget-data storage via a key and updated the
WidgetProvider.py example.
Fixed a few possible crashes here and there.