Patch Node::add/removeEventListener to use the CommandRegistry

This ensures that all listeners slot into the correct location in a
single dispatch, regardless of whether they are added with
Node::addEventListener or via CommandRegistry::listen/capture. This
allows selector-based listeners to integrate into the rest of events
in a global way.
Invoke handlers on detached DOM nodes