Qunit module preparation rewrite

Needs preliminary review. Missing at least some documentation and changelog entry.
`.onfocus` was unreliable.