Remove react/zmq, replace with pure zmq

This vastly simplifies the code. Since ZMQ is used for blocking sends
and blocking tasks, having an event loop does not really make much sense.

This patch removes react entirely and replaces it with native ZMQ.