feat(events): Add data events

This adds load, remove and clear data events.

When loading demo, generate columns was called 3 times. It's now only called once.

This also adds a columns.on.change event.

Close #211