Hmm, hit the reply button a few too many times hey? :-)
CUPS will act as spooler, I compiled this a long time ago.
ghostscript can be used for some conversion/printing (though it's rather large), I've also compiled this without troubles.
The main issue is modifying the apps to provide some form of printed output. They can either do this by rendering to a bitmap (which would be a simple change in the drawing code I presume), or by producing something a little more structured like a ps file or some other input file for one of the markup languages.
The rendering to bitmap shouldn't be too difficult, but wouldn't look to great (though I suppose the printer 'screen' could be made larger and a scaled preview could be produced). Spitting out some form of mark-up lanuage would require more effort.
Take a look at OpenZaurus, and the OpenEmbedded software library. The source is available for all of the apps there, submit some patches to enable this functionality.
Si
P.S. Oh, don't forget that you may also need to add in samba if you want to print to shared printers on a Windows network, etc.