Kill the threads

This removes all threading, resulting in a simpler codebase, and should fix #10, #15, and #3.

Instead, the `Watch` loops through subscriptions (greedily, every 50ms for now), and triggers `Consume` / `Reveive` / `Deliver` at each iteration.

`Consume` is changed to pop from the queue (polling) instead of subscribing to receive events.

This has the indirect benefit of fixing detection of new/deleted subscriptions.

Further work will be needed to make it efficient, but there are no more thread safety issue ... as there are no more threads.

~~Being tested on staging.~~

Tested on staging (@arobecke  and I hammered it).
It's only used here, but persists across calls (`@receivers ||= {}` at beginning of method) — the point is to only instanciate receivers for _new_ subscriptions.