mp4mux: Add support for GstForceKeyUnit events

https://bugzilla.gnome.org/show_bug.cgi?id=660260
mp4dashmux: Add DASH-compatible mp4 muxer

https://bugzilla.gnome.org/show_bug.cgi?id=668091
mp4mux: add ftyp and extra atoms to the streamheaders

ftyp and extra atoms are needed in the caps' streamheader
field to reconstruct a valid header from the caps, useful
for fragmented streaming, where the moov is created at the
very beginning with only the useful initialization data.

For fragmented mp4 streams, the header buffers are queued until
the header is completed and they are pushed after setting the
streamheader in caps and before starting to push moof's.
It doesn't change the behaviour with regular or fast_start mp4 files,
where the final moov is only known when finishing the file.

https://bugzilla.gnome.org/show_bug.cgi?id=706509
mp4dashmux: add the tfdt atom to the moof

This atoms is used to the set the base decode time for fragments
and allows the demuxer to set the correct base time in buffers
when pushing a new fragment in the middle of the stream.

https://bugzilla.gnome.org/show_bug.cgi?id=708221