Move free functions into classes in demuxing

Better grouping and consistency
Add support for timecodes extraction in demuxing
Don't forget to cleanup if a sudden exception happened during processing
Add automatic timecodes extraction
Dump timecodes from the destination file instead of the source
Add timecodes info to readme