Better event masking using bit-wise or
Added clean stopping for Publisher
Changed to use Queue.Queue instead of multiprocessing.Pipe for handling message passing
Changed to use Queue.Queue instead of mutliprocessing.Pipe for message passing, and made the program cleanly stoppable by ctrl+c