Subclassing implemented, oo.video.register removed

oo.video now takes an argument which is the video source
of this video-object. This results in clearer syntax.
video.register() and video.onPermission() have been
replaced with video.getPermission() which returns a promise.

Further changes:

- More unit tests added.
- Examples changed to fit new format.