Properly extend event emitter

There was event crosstalk between queues with different names!

Use util.inherits to create an object based on Event Emitters. Using
`new` EventEmitter causes the initialization code for the EventEmitter
to get run on the object we are setting as the prototype, which is
undesired, as this results in state being created that is shared amongst
all Qred event emitters.