There is actually working UI classes in nxPascal, that use OpenGL, rendering quads and texture-based fonts. Actually all the components themselves use textures. Problem is actually building the UI. You can do that manually with code to get the most out of it, but easier way is to use the existing UIEditor. It's just somewhat limited, and has no access to events, which you would have to assign manually anyway. For example onClick events on button, unlike Lazarus that generates such things automatically, you have to write them on your own, search the button by its name and assign the event.

Overall for simple games it's surely easier to just manually draw button graphics on your own, but if you need scrollable TMemo's to for example console window, or dropdown lists, then the UI components can become much easier.