but i don't want to bloat OR with too much extra files
From my perspective, a single file project of such complexity is a nuisance, a rudiment of the PowerBASIC era when its so called RAD wasn't able to cope with multiple files.
And for what it's worth, I
may just as well consider the RTF branch of help file system a piece of bloatware based off of technologies of the yesteryear.
... and i want to preserve smooth left right scrolling as we have it already when moving only the OGL control with the splitter.
And I want to preserve compatibility with the pre-W10 platforms, which in my opinion is a more worthwhile objective.
I may have a solution using a backbuffer to suppress the flickering, with my skOFFscreen or zOFFscreen API that i could export from the existing DLL(s), and using WM_PRINT rather than WM_PAINT using subclassing or a superclass.
We could probably suppress it with just a careful choice of timely direct gl_DrawScene() calls rather than gP.bRedraw = TRUE requests to repaint the viewport at some unknown later points in time. We can also use SendMessage(WM_SETREDRAW) wisely to update it only when the actual positions of the windows have already stabilized.
You know what, ODT is nothing more than a standard ZIP file (xml based)…
all related files being unzipped to the temporary folder, then removed when not needed anymore 
That means we could do the same unziping first everything into the temporary folder on the fly, when switching from one topic to another. Do you think that would work with HH ...
This is what HH.exe does with the .CHM files, and it is damned fast at that doing it directly in memory without dumping anything on disk at all.
... and what would be the best tool to produce the documentation itself ?
The best tools for the help file system are MS Word and MS HTML Help compiler if you're following my route. If not, you may settle with Libre Office and zlib.dll unless you have your own code to include in the project to compress/decompress ZIPs, JPEGs and PNGs without any 3rd party dependencies. I have used such an include in my FBSL. It added only 8KB to the binary. Then I switched over to the 7-zip algo to yield almost twice deeper compression ratios.