A wrapper to EventTarget.addEventListener that supports multiple targets, event names and delegated events with a convenient remove listener mechanism.