bug 1058698 - async ContentWorker

i tried this, it started to get ugly (because of the new async step, a tab could get closed in between, which required even more code to guard against, and some tests to fix), so i decided to give up, reverted, re-read your comments to try to form a proper argument, and then realized i already have all the information in `@loader/options::paths` to resolve the JSM path..

yay for reviews!