stbt.Display.on_eos: Fix null dereference

...when sink pipeline sends EOS just after source pipeline. The source
pipeline's EOS triggers `restart_source`, which sets the source pipeline
to `None` and waits a few seconds before restarting it; so for a few
seconds, an EOS from the sink pipeline would try to access an invalid
source pipeline.
stbt screenshot: Work around Blackmagic purple tint in first second of video

The first second of video frames delivered by the Blackmagic Intensity
Pro card is brighter than subsequent frames, and with a magenta tint.
Thanks to Aiman Baharna for the bug report & analysis.
test_press_visualisation, test_draw_text: Fix race condition

These tests used to run a stbt script that saved 3 seconds of output to
a video on disk, then ran a second stbt script that analysed that video.
On a heavily loaded system (such as the Travis CI service that runs our
tests in the cloud), the second (verification) script could fail, if
`stbt run` took longer than 3 seconds to reach the `wait_for_match`
call. In that case `wait_for_match` would raise `NoVideo` instead of
finding the match.

Instead, we run 2 `stbt run` instances at the same time, connected via
filesink -> named pipe -> filesrc. The `stbt run` instance providing the
video runs as long as necessary for the other `stbt run` to find the
match; and *only* as long as necessary, so in most cases these tests
run much faster than the previous version.

The `gdppay` and `gdpdepay` payloader elements wrap the raw data with
the "GStreamer Data Protocol". Without this, the filesrc doesn't know
the caps of the video it's receiving.

I cropped the `red-black.png` template tightly around the two lines of
text, because now there may be a third "black" line underneath them from
the previous call to `press_black`.