Unify interface to different decoders (now more object-oriented)

This should make it easier to further clean up some of the mess in h264
decoder and add more formats.
Add very basic mp4 decoder

First test version, don't expect it to work with all files. It needs
a lot more testing.