Factor out the namespace name test. Accept `["name"]` as not namespaced.

References #3076.
`kernel.{createEvent,addEventListener,removeEventListener}` API comments.

References #3076.
Only create the per-event listener array on `addingEventListener`.

References #3076.
A kernel utility module.