Add scope (time domain) output to MonitorSink.

Because MonitorSink is currently used only for the entire RF input,
and the time domain view of that is usually meaningless since it
contains multiple signals and lots of noise, it is disabled by default.
I plan to arrange so that the time domain data is collected and sent to
the client only if it is being looked at (i.e. propagate
interest/subscriptions all the way back), but the pieces to do that
aren't there yet.
ScopePlot widget (time-domain signal display).
Factor recursive lock logic out of top.py.