Refactored event-handling code

In Node#off(), no longer deleting the _$E_ property because it's faster to set it to undefined.
Also in Node#off(), added the ability to only remove delegated handlers (with the '**' selector).

Massively simplified the nodeEventHandler() function by using a do-while instead of .prevUntil().

Made off() and on() global functions so they can be called without the assumption that they are
a property on the node (safeguards against nodes created in a different document).

Added the default `false` value for propagationStopped to the Event prototype.

Some documentation formatting improvements.