REWORD: stbt.py: Restart video pipeline as many times as it takes

We restart the source pipeline whenever video signal is lost to work
around the HD PVR behaviour where the device stops delivering video
when it loses input signal momentarily; see b6135eca.

With this commit, instead of giving up after 3 restart attempts, we rely
on the timeout in "Display.frames".

Before commit ???????, video loss *outside* of a "wait_for_match" (or
"detect_match", "wait_for_motion", etc) didn't trigger the
pipeline-restart mechanism nor the exit-after-3-restarts. It was only
when you called "wait_for_match" (etc) that the 3 restarts were
attempted. We have test scripts that restart the system-under-test, and
it takes longer than the 3 restart attempts before the rebooted system
starts delivering video again, so our test scripts looked like this:

    restart_the_system_under_test()
    time.sleep(30)
    stbt.wait_for_match(...)

Since commit ???????, we restart the video pipeline as soon as we detect
that we have lost video. This is desirable behaviour, because it means
that the next "wait_for_match" after a "sleep" (or other processing) can
start consuming video immediately, but the above script would now exit
during the "time.sleep" call. With this current commit, the script will
only exit due to "no video available" when it is inside "wait_for_match"
etc.  You can set your own timeout to "wait_for_match":

    restart_the_system_under_test()
    stbt.wait_for_match(..., timeout_secs=30)