"Components" may have been the wrong term. I meant to say that you can give WEs access to something that lets them access the same things that JS running in the browser can. My understanding is that this is currently most easily done via XPCOM interfaces accessible from |Components|, but I wasn't trying to suggest that it needed to be done via XPCOM. Do it using whatever technology the browser itself is using.
There are many things that WebExtensions could do, if only we found the time to add the necessary APIs.
Sadly, Firefox has to race against Chromium with about 1/4 of the developers (I don't remember where I got that estimate from), so we have to focus our efforts. As you can imagine, Mozilla's comparative lack of resources (hence the recent layoffs) won't improve that.