stbt run: Dump pipeline-error debug from the right pipeline

If you define the environment variable `GST_DEBUG_DUMP_DOT_DIR` and a
GStreamer error occurs, `stbt run` will dump a Graphviz dot file with
debugging information (see 7b3eaf33). Previously we always dumped
debugging information for the *source* pipeline, even if the error came
from the *sink* pipeline.
stbt batch run: Classify blackmagic failure correctly

The classification for errors due to the Blackmagic Intensity Pro
video-capture card hasn't worked correctly since we ported stbt to
GStreamer 1.0 in commit a83333a2.

Also the "blackmagic card in use by another process" detection logic
hasn't worked since the blackmagic device moved from /dev/blackmagic0 to
/dev/blackmagic/dv0 -- presumably this changed with the recently
released blackmagic 10.0 driver. We look at both locations, thus
providing an upgrade path to users (upgrade stb-tester first, then
upgrade the blackmagic driver -- if you care enough about getting this
error classification right).

Thanks to Lewis Haley for the bug report and for the detailed solution.
Fixes #144.
Merge pull request #148 from drothlis/blackmagic-classification

stbt batch run: Classify blackmagic failure correctly
Bug fix: Ensure that frames are still dropped even after a pipeline restart

If stbt's image analysis is slower than real time frames can get queued
up in the pipeline meaning that the frames we are operating on may be out
of date.  To minimise this latency we drop frames from a queue in the
GStreamer pipeline.

This commit fixes a bug introduced in b8d39d4 where this leaky behaviour
was not being applied after the pipeline was restarted.
stbt.py, stbt-tv: Move the leaky queue right after `decodebin`

This commit resolves high latency of video frames on slow computers by
ensuring that an appropriate number of frames are dropped.

The latency is too high if the same queue is after `videoconvert` even
though the property `leaky=downstream` is set. The idea that the leaky
queue should come before `videoconvert` is the outcome of
trial-and-error.

It is in-keeping with the idea in the pipeline that we shouldn't be
throwing away frames we've done significant processing on.

Note that the slow-down is due to `decodebin` and not stbt's video
processing algorithm. Using `stbt tv` (i.e. a simple video capture
pipeline) without a leaky queue after `decodebin` also results in high
latency.

The "slow computer" used for testing had 2.4 GHz Core 2 Duo CPU.
stbt screenshot: Skip first frame

Some V4L video-capture hardware delivers a single black frame before the
real video stream.
Merge pull request #152 from drothlis/stbt-screenshot-skip-first-frame

stbt screenshot: Skip first frame
Merge pull request #151 from szemate/ensure-that-frames-are-dropped

Fix high latency of video frames on slow computers
README.rst: Update byline to match stb-tester.com

This is the first step in clearer documentation & promotional material
about stb-tester's true capabilities -- it isn't restricted to set-top
boxes.
OCR: Add script for measuring OCR effectiveness

validate-ocr.py can be run on a corpus of test images reporting how good a
job stbt has done of reading the text.  Thus it can be used to measure
improvements to the OCR algorithm and, more importantly, detect any
regressions introduced.

This tool is designed such that it can be run on corpuses outside the
stb-tester git tree to allow corpuses containing screen captures from many
set-top boxes without bloating the main stb-tester repo or risking
upsetting the owners of the creators of the various set-top box UIs.

It is not currently run in-tree as a part of make check.

Thanks to david@rothlis.net and lewis.haley@youview.com for review and
fixups.
fixup! OCR: Add script for measuring OCR effectiveness