Earlier quoted context omitted.
I'm not clear on why you would want TST as an extension rather than built into the browser chrome. It'd be like wanting the tab bar, or the address bar, to be an extension. Those things belong in the browser chrome; they're what the browser chrome "layer" is for . Just dig into the Firefox code and add TST to the browser itself. (It wouldn't be all that much work; it'd just be 1. adding "parent" and "children" proper…
Given that Tree Style Tab has 7,500+ commits, 10 pull requests (200 closed), almost 400 issues (almost 1,500 closed), and the download is 5.6 megs (2.7 megs zipped), there may be more to it than your two-step solution.
For an example I've experienced personally: LinkedIn provides a data API... for a price. There are entire companies, however, that scrape LinkedIn's data instead of paying that price, and then try to work with the scraped data (which has been "baked down" through all sorts of views, localization, projections, etc.) as if it was the API data.
How much more code do you think such a scraper consists of, compared to an API client?
(The LinkedIn case is even worse because LinkedIn has stateful firewalls that actively thwart scraping, and these scrapers have to have code to trick the firewall, as well.)