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.

#58, #61
Prevents events triggered by user been triggered twice
Removes debug logs
Improves event documentation and the parameter for callbacks
Fixes formating of optional event data
Merge pull request #78 from witrin/events

Events and callbacks