Well, it runs out that the above doesn't work for more complicated stuff (even if the only primitive is "Line". There are things in the Graphics object that are private to (someone?), and don't work right.
Here's a module that works on the String level, and seems to work as I want (but still only for Line primitives.)
Attachments: