Adds removeListener and removeListenerAny events

Whenever a listener is removed, a `removeListener` event is emitted with the event type and a reference to the listener.

As well, when a listener is removed through `offAny`, a `removeListenerAny` event is emitted with a reference to the function that was removed.