"ZeroMQ’s actual C library (libzmq) is just an implementation detail."
That's a spot on. It doesn't really matter whether you are using ZeroMQ, NullMQ or raw HTTP.
It's like OO-programming: You can write OO program in any language.
Same way, you can do distributed messaging on top of any transport layer.