Publish events for tracking logs

This time, this is a single pull request, as my workflow wasn't as clean as usual.

Also, there is plenty of repetition, but I see no clean way to factor it out.
OO.EVENTS.PLAY -> The User (or something) requests the player to start palying
OO.EVENTS.PLAYING -> The player actually starts playing
OO.EVENTS.PLAYED -> The video reached it's end and stops