Revamp signals so recursive emits and disconnects don't sigsegv.
Add concept of slots, connections and scoped connection blocking