* Create a EventQueue to store all MirEvents so we can ensure
  all Events come out of the same thread. As well as ensuring
  the threads sync up correctly when touching the Event Queue.