Better addEventListener handling.
It is possible for an element or object to have addEventListener that we
want to use, so, we can't fingerprint native functions. Instead, in
EventEmitter, remove addEventListener while we're doing work and then
re-set it afterwards.
Remove isNative since it is no longer used.