transcode: store fmt per id/track

This helps to keep filters etc if there is for example 2 different audio
tracks with different channel count etc.
transcode: keep in track of input pts drift for video

Also name it to be next_input_pts instead of interpolated_pts

If input drift is more than 100ms that we estimate, we have most
likely dropped some packet and we should reset timers. Otherwise
it can cause lipsync issues if we for example just transcode video
track and audio track keeps original (jumped) pts.