The tests do not depend on separate files for loading templates. This is
for the layouts to be defined alongside the tests for easier updates.
The methods have been refactored and documented for ease of use of the
consumers.
The tests are now fully unified with Jest and Cypress consuming the
same set of test files.
Jest, together with JSDOM, tests the behavior with static markup.
Cypress tests with dynamic markup.
Use custom JSDOM apart from Jest's built-in JSDOM instance because
we need to test different kinds of documents.
We will need to address problems with types, e.g. for `RadioNodeList`
because the runner could not find its declaration (for both our custom
and built-in JSDOM instances).