void on_paint(object painter)

Called whenever an object needs to paint itself on the map. Note
that permanent objects, like scenery or buildings, should use
on_map_paint instead.

The object passed in is the one you should use for painting. You can
use any of the functions from map_paint for painting. The most
important one is paint, which looks like this:

painter->paint( x, y, symbol, color, z )

This function will paint a single character on the map at position
x, y, with 0, 0 being the upper left corner (Note that the exterior
'wall' of the map is paintable as well; use the z-layer LAYER_INVALID
for what you paint to be visible). The paint command is
clipped to the map. The color is a number 0..127, where color%16
is the foreground color and color/16 is the background. The color
codes are the ANSI standard (help colors).

The symbol is a character (not a string!), and is the single character
to be painted. The z is a 'zbuffer' value. The z-buffer allows the
overlapping of objects to be fairly reasonable, even with an arbitrary
painting order. There are a bunch of defined z-layers in /include/const.h;
I've been known to reshuffle them, so please use them for painting your
objects. They're of the form LAYER_WHATEVER. Ground is LAYER_TERRAIN,
ROAD is LAYER_ROAD, items are LAYER_ITEM, etc.

The z-level is optional. If you leave it off, LAYER_TERRAIN is assumed.
