vertexarray object, performance

Here is that image.

I would make a quad VAO for your text. It is just too much insanity to try and go crazy keeping from making a new one ever.

Looking at the graph, since you probably have to change your shader program several times then who really cares about changing your VAO?

You can always add in such an optimization later when you are sure all the functionality works properly.