Fix Network Control Play/Resume functionality.

Fixes #11032.

Signed-off-by: Chris Pinkham <cpinkham@mythtv.org>
Delete TVRec objects in the thread they were created
Do not use an on-demand timer to delay deletion of the stream handler.

the IPTVChannel instance got created in the main thread, SetStreamData can be called from different thread: the event handler (running the SignalMonitor) and the recording thread. So creating the timer could sometimes fail as not created in the thread.
So instead we keep one timer firing every 5s; and check if the stream handler has been marked for deletion.
If so, the stream handler will be deleted between 5s (worse case) and 10s.
Fixed display of playback position for DVD stills.
dtvrecorder: Flush the payload buffer whenever a new payload starts.

We start buffering at the beginning of each payload, and don't write out the
data until we know if this payload has a keyframe.  This is so a new file
(for back to back recordings) would start on a keyframe.

Further, the keyframe offset recorded in the DB, is the offset to the
beginning of the payload with the keyframe.  Or at least it was supposed to
be.  Since we were not actually flushing any data currently in the buffer at
the start of a payload, that offset could be pointing to a completely
different payload!

Fixes #11435