Events and callbacks

Corrects naming conventions around events and extends the `trigger` function by the arguments `data` and `namespace`. It also changes the return value of `trigger` to the event object. All in all this gives
more possibilities for interaction between the event source and the event handlers. The callbacks are still silent consumers in this concept.

All core events have the namespace `owl.carousel`. All plugin events have the namespace `owl.<plugin>`. All event names are always in lower case. All callbacks get the prefix `on` followed by the event name with
the first letter in upper case. Callbacks of plugin events get the plugin namespace as post-fix with the first letter in uppercase. E.g. `refresh.owlcarousel` gets `onRefresh` and `play.owl.video` gets
`onPlayVideo`.

This also fixes a bug which causes an infinite recursion when `refresh.owl.carousel` was triggered.

Unfortunately I haven't found the API docs in the repo. Also if you want I could complete the event demo for you. I also have some suggestions regarding some specific events and plugins in this context but this maybe more later.

See #58, #61.