Added support for palettised PNG output. This was intended to allow me to support full transparency on PNGs, but the particular case which is appropriate for this seems to be very poorly supported in PNG viewers, so, although I believe the output to be correct, you can't see the benefit in most cases.
That made it easy to support changing the foreground and background colours for output text, so I did that as an encore.
Added the `strut' special.