Notes for a parallel version of X11 graphics.

Each drawing operation uses a "Pdisplay" field.  This contains the display
to use as well as the host that has the connection.  The request is then
passed to the appropriate host.

A special case is the creation of a window.  Quite possibly, only a single
host should create the window; all others (including ones with connections
to the server) just use this window.

In addition to this, the host will need to maintain information on the
resources (such as gc's, colors, and fonts) that have been allocated so that
they can be freed once all users of them are done (reference counts).

The context for these routines should include a drawable rather than 
just a window.

Basic Graphics Routines:
(These need a common prefix)
DrawLines( context, x, y, n )
DrawText( context, str )
DrawPolygon( context, x, y, n )
DrawArc( context, cx, cy, r, theta1, theta2 )
GetScale( context, *w, *h )
SetColor( context )
Update( context )     forces an update of the display.
DrawBitmap( context, x, y, nx, ny, bitmap )
ZbufferDraw( context, x, y, n )      (do we need this if we have solids)
SetFontSize/Name( context, ... )

Derivative routines
DrawAxis( context, loc, routines for lables and values )
DrawSurface( context, x, y, z, nx, ny )
DrawSolid( context, (polygon structure), FillMethod )
(FillMethods should include
    SolidFillPolygon
    Shade
    ZBuffer
)

