-Macros in palette.h probably only work on little-endian machines.
Patches for other architectures gladly accepted.

-Signal handling assumes BSD semantics; this means that glibc2 is
required for correct operation. Signals are only used in cleaning up
dead children processes, so it's not that big a deal. The only effect
that you'll notice on libc5 systems is that you get a lot of zombie
processes if you duplicate several new instances of the program and
then exit them.

-Only allows 4:3 aspect ratio. This is due entirely to my laziness to
handle any other cases.

-Uses glib for memory handling; this means that if you run out of
memory the program just exits with an error message instead of telling 
you you don't have enough memory for that 20000x10000 picture you
requested.
