Since OpenJK have modular renderer i think i can suggest following: what about creating class "Surface" which will replace/extend regular 2d draw system. We can draw text, rectangles, images, paint them ( may be even postprocess ( hello rend2 :> ) ) In ui/cgame that can look like:
Surface sufrace(640, 480);
surface.paint( Color.Red );
surface.drawrectangle( 100, 100, 10, 10, Color.Green)
surface.drawtext( 200, 200, "Hello World")
surface.transform() -- whatever transformation
surface.render() -- queue
OR
trap->RenderSurface(surface) would be good :>