New module mal/signal

* Connect listener function to signal trigger
  (association identified by trigger::listener)
* Listener can mute/unmute and disconnect from trigger