It would have to use [`GFileMonitor`](https://developer.gnome.org/gio/stable/GFileMonitor.html) on the template file, seems perfectly do-able.
For the latter part, something like [Bootswatch](https://bootswatch.com/) would probably do, and perhaps add a placeholder like `@@theme@@` to select which theme to use.
If anyone wants to work on this, drop a comment here to discuss.