Refactor mlt_image_format and mlt_audio_format in mlt_consumer.

This lets a consumer change a format inside its start method before
calling mlt_consumer_get_frame() or mlt_consumer_rt_frame() for the
first time.
Get pix_fmt from codec & mlt_image_format from pix_fmt. (kdenlive-3355)

I had to remove setting the timecode property and AVOption from the
first frame's "meta.attr.vitc.markup" property in the process as the
early call to get frame causes a timing problem starting render threads
with the correct image format. Users and applications need to explicitly
set the timecode now.