Fix crashes when pressing menu key during channel change

There’s a short amount of time when changing channel during which there are no video output defined.

(cherry picked from commit 606f1c75080db3cd7aa35071d8e7684e71130479)
Add ReadInternalMode to RingBuffer class

This mode allows to limit the content of the ringbuffer to the content already loaded. Seeking, reading and other operations will not be destructive.
This allows for almost instantaneous streams and bitrate detection.

Duration calculated will obviously be wrong, but as the duration is stored in the DB we’ll use that duration instead anyway, meaning we only have to worry about streams detection itself.

This greatly speed up liveTV transition change and playback startup

(cherry picked from commit c519bba367320a3773c093c30d05e1330534589c)

Conflicts:
	mythtv/libs/libmythtv/dvdstream.cpp
	mythtv/libs/libmythtv/dvdstream.h
Try to open the media for 1.5s, using only the internal data in ringbuffer.

After this, we revert to the previous detection methods. In practice it should never happen

(cherry picked from commit e46904385382ca90f71ae472e88bd3dcd6cf1d7f)