No automatic self.init()

Beginning with my issues detailed in #39 I added some external interoperability while trying to keep it to a minimum. Changes are:

* no `self.init()` anymore in the script, the `init()` method is now public so you can call it whenever suitable;
* New dispatcher for custom event `salvattoreInit` so you can listen and add your own stuff if needed;
* We had issues with resizing so I have added another dispatcher for `salvattoreChange`. This fires whenever salvattore redraws the layout. The gridElement is passed in `event.detail` in case some script wants to know what is happening in more detail;
* A new public method for determining whether salvattore has finished its own `init()` in case of an async loaded script which arrives later wants to know about;
* Added an extra 'polyfill' to handle [customEvents](https://developer.mozilla.org/en/docs/Web/API/CustomEvent) in case they are not supported.

I know this is not even close to being complete but any suggestions are most welcome.