I created something to do this using VNC and Firefox a few years back. At the time, people suggesting using webkit to do a simulated render (which I suppose is what you did) but we required Adobe Flash. So, I created a rotator which could create up to 20 VNC screens on demand, start firefox, and create an image using vncsnapshot.
I built something identical in about to do the actual HTML --> image conversion. Took <40 LOC iirc to go from url to image.
Always curious to see how many different ways the same problem can be solved. :)