Yes use `fillText` to draw some text to an image then send that image to an open openGL texture.
At first I focused on having a text atlas to manage. In this texture-text-atlas every letter-font-size had its own square. But problems with text atlas quickly explodes, subpixel versions, Chinese characters, what if text is rotated. Meanwhile our text render got really fast, we could render anything very quickly and text does not change that often. We found it faster to just draw whole paragraphs of text then send them over to a texture and only redraw the texture when text changes.