In theory we could create a basic browser with various HTML/JS/CSS spec features created as a plugin
Open source plugins cause a lot less grief. Typically they don't have a feature I want. Often for legal reasons and not technical, or because a proprietary vendor is fighting back (eg; video patents the first case, Skype protocol the second).
The linux kernel is an example how an open-source-only plugin system works technical wonders. A very interesting case study was graphics drivers circa 2005. The closed source drivers (essentially plugins) tethered the linux community to the technically obsolete X server; and would have crippled the kernel in a similar way if the kernel devs had accepted closed source plugins.
Apple did wonders driving open standards on the web with the explicit acknowledgement that popular closed source plugins were too dangerous for their platform to implement .
The issue here is the one Stallman has been harping on since the dawn of time - closed source is unmaintainable in an extremely profound way.
If you need some native feature, browser vendors can force you to use a native app and thus go through their app store (think Safari on iOS). There is a large category of apps that you cannot make in HTML, for example anything truly P2P (not WebRTC, but based on real sockets). You can't make an IMAP client. You can't make a friend-to-friend file sharing tool, without a central server, that uses your Facebook and Google contacts to find peers (I've tried). You can't make the browser window partially-transparent or use native looking widgets. You can't burn a DVD. And if someone invents free-floating holograms, you can't add them to your page.
Granted, these examples are silly. The web is now a very capable platform. But vendors have always been steering what you can and cannot do based on business and other interests. It would be great to be able to break out of that, by having a kind of "C foreign function" interface for the web.
It is probably why we all have flat windows 3 inspired UIs now.