How to draw text and shapes to a Texture?
Unfortunately I haven't found a way to easily render text using the GreasePencil API nor a way to capture GreasePencil text/lines into a texture (Blender Image).

I ended up using PIL and copying the pixels over to a Blender Image (method described here). Other than the conversion using [:] to access pixels slightly faster the other speed up was using a bitmap font (as opposed to a true type font which was slow to rasterize):

font = ImageFont.load(os.path.join(os.path.dirname(os.path.abspath(__file__)),"fonts","haxor.pil"))