A Matroska implementation

As recommended by the mail, I'll try to push the patch via github.

There still might be a lot of need for discussion and there are still bugs (I currently know at least one, but I will fix it later).

I hope at least the EBML part of the patch will be accepted, since everything else should be comparably easy to rewrite.