Fix #181 by changing the global decode lock into an SRD lock
The global decode was insufficient insofar as it didn't
prevent a newly started decode thread from interjecting its
own decode operations. When this happens, something goes
haywire somewhere and Python crashes.
Until the underlying cause is fixed, this global SRD lock
forces one decoder thread to finish before another one can
start.
While this is a bit inconvenient for wanting to decode as
the acquisition is going on, it currently is the only
working option.