Huge commit

Shortcuts implemented (standard image + label)
Support for event callback to the backend added. Both application and shortcut can now get their modified status to the backend for persitance
Desktop now has toData and createFromData methods to aid in the persistance. As a user you can just serialize the return data to store the state.
Updated README.MD somewhat