I agree that using a web browser is a universal and easy solution. The complexity comes with the dependencies such as Python to make it work. That’s just a task of packaging it in a way that makes it easier on the user to install.
As features go, I’ve made a great amount of progress if you’d like to follow along in this thread:
I’ve got most of the things you’ve mentioned… though I’ve not yet considered volume. I could add that as well. Take a look and comment on that thread if you’re interested.
bluetex