What you can with Athens and the �Cairo backend �is:
1) create a surface in memory
2) draw to the surface�
3) export that surface to a png
4) import that png into a form
The main point is step 3, cairo can export any surface to a png. Then within Pharo, any form can be created from a png.
Also, if you interested in drawing from Athens into a form directly, look at the AthensDemoExamples, and Igor's magic trick of matching the bits of the surface (step 1), directly to the bits of an "external" form. to avoid steps 3 and 4. �He used the surface plugin for that.
Hope i answered all your questions, though not sure because i've never used�ImageReadWriter.
Fernando