Ui localstorage

Hi,

This PR is about the issue #453 

I'm doing this PR to get some comment on the work already done before continuing.

# Todo
- [x] Settings API using localStorage
- [x] Keeping as property the result of get(settings)
- [x] Creating a init method in the API with a callback
- [x] Saving state of the element of the menu (Sidebar disabled/activated, node status)
- [x] Added possibility to set element of the menu as activated by default (like the Sidebar)
- [ ] Saving the position of editor windows
- [ ] Saving size of editor windows


I'm in the process of tidying up the REST calls made to ensure they have the appropriate headers set etc. You can see this in action [here](https://github.com/node-red/node-red/blob/master/public/red/main.js#L152) - the key one is the Accept header set to `application/json`.