Display: Use GstSample in place of (numpy.ndarray, timestamp)

This commit increases performance by ~10% vs. stb-tester 0.18.  We do this
by avoiding copys.  Internally the numpy arrays are backed by the data
directly in the `Gst.Buffer`s.  Instead of 3 copies made during
`detect_match` only one is made now.

Internally we are now passing GstSample around instead of the (data,
timestamp) tuple.  This will be useful in the future the future for
synchronising readings against wall clock time as the `GstSegment`
associated with the buffer is required to correctly interpret the
timestamp.
gst_hacks.py compatibility with OS X

Dynamic libraries are ".dylib" not ".so" on OS X.

If I only do `ctypes.CDLL("libgstreamer-1.0.dylib")`, `dlopen` won't
find the library in `/opt/local/lib` (where GStreamer is installed by
the "macports" package manager), even though I'm using
`/opt/local/bin/python`. Adding `/opt/local/lib` to `DYLD_LIBRARY_PATH`
doesn't work either, I get all sorts of "Symbol not found" errors. So
I'm calculating the path from where GStreamer's GObject-Introspection
typelib data is installed. I've only tested this with macports.