Emit protocol controller signals through idle_add
Emit protocol controller signals through idle_add

Modify protocol controller to emit signals through calls to
`gobject.idle_add` to ensure the signal handlers (which may interact with
GTK UI objects) are run in the GTK main thread.

wheeler-microfluidics/microdrop