As of M80(chrome version >= 80), chrome removed the
native htmlImports support, tho we have the polyfill
from webcomponents, the loading of html changed from
sync to async which cause a lot test to fail in M80.
The fix is introducing a util method `readyToTest` which
wait until htmlImports finished before running any tests.
Updated some tests to have only one top suite per test so
we only need one `readyToTest` and also multiple `readyToTest`
actually affect tests' stub functionality.
Tested locally with `npm run test` on all passed tests and also
with manual failure to make sure the updated tests can still
catch any errors if have.
Bug: Issue 12294
Change-Id: Ib0c464f8ff9f36a401e6c3b249e6bb6d68ee6e2f