Fixed misaligned structure cast

zmq_event_t is often padded (due to a uint16_t as its first member), and thus you cannot re-interpret bytewise packed message buffers as zmq_event_t, they must be read manually. This was resulting in the event value always being garbage, which is troublesome if you wish to inspect the fd/SOCKET, for example.