Why is that? Glyphs can be cached in a texture. That's what nanovg does and it works quite well. That's what my little library does too (https://github.com/audulus/vger)
Doesn't work in the face of real-time dynamic transforms; 3-d, smooth zoom, etc. Atlases are also a bit heavy, so now you need a cache replacement policy, and you have annoying worst-case performance...
Only if you give up doing any script-based languages even remotely properly. And, it really doesn't even work in character-based languages with heavy kerning.
Text rendering is really complicated. There is a reason why we have so few text shaping engines.
The reason for this is that the single 2D application that people most want to speed up is font rendering. And font rendering is also the place where the edge cases are really common.
Rendering everything else (geometric shapes) is trivial by comparison.