Initial check-in.

  * This is a bit of a grab-bag of things intended to grow towards
being an implementation of the parts of the CLIM standard that
actually make sense to me.

  * Anything in the root directory is either a test driver program
or support code for the test driver, more to have something that
works to start from than to become part of the final system.

  * Anything in tests/ is stale test code for something that has
been swiped from another project (or earlier incarnation of
nq-clim).

  * There is an implementaion of SPACE-REQUIREMENTs in layout/,
not because we are anywhere near implementing the layout protocol
but because it was a convenient abstraction when setting up some
of the support code in its original context.

  * And the rest is a "spike" for drawing mediums, the most
fundamental output protocol in CLIM.  It's thin, but it works.
medium/drawing,backend/clx/medium: Rough in more medium drawing functions.

  * This is the rest of 12.7.2, with the exceptions of MEDIUM-DRAW-
ELLIPSE*, which is tricky because X is limited to axis-aligned
ellipses, and MEDIUM-DRAW-TEXT*, which is tricky simply because it
involves text and fonts.

  * This functionality is completely untested, beyond checking
that BACKEND/CLX/MEDIUM::FIX-RECTANGLE-COORD-SEQ-FOR-X behaves
correctly.
geometry/: Rough-in of rectangular geometry.

  * This started with BOUNDING-RECTANGLE, but got a bit out of
hand, largely due to the interaction between the bounding
rectangle protocol and the RECTANGLE geometry class.

  * I'm not convinced about the massive code duplication here
(mandated by the CLIM II spec) or the package organization (I
suspect that several dependencies could be rearranged to good
effect).

  * This is largely untested, but compiles cleanly.
sheet/sheet: The SHEET protocol-class.

  * The beginnings of the CLIM model for areas of the display
allocated for graphical output and event handling.

  * This is just the protocol-class and the predicate, the actual
guts of the protocol come later.
sheet/sheet-hierarchy-protocol: The generic parts of sheet hierarchy.

  * This is mostly parent/child and sibling functions, with a few
other bits thrown into the mix, along with generic implementations
where appropriate.
sheet/sheet-parent-mixin: A mixin class for sheets that can have parents.

  * This is a straightforward implementation of the child side of
the sheet hierarchy protocol.

  * I'm getting a distinctly uneasy feeling with respect to the
method combination for SHEET-ADOPT-CHILD and SHEET-DISOWN-CHILD,
as though it won't really behave as intended.
sheet/sheet-parent-mixin: Initialize the PARENT slot.

  * Oops.  This would have lead fairly quickly to a SLOT-UNBOUND
error.  Fixed, by supplying a reasonable default.
sheet/: Fix SHEET-{ADOPT,DISOWN}-CHILD mechanism.

  * I, having rarely done clever things like this with a
multimethod, completely screwed up the responsibilities for each
side of the dispatch.

  * The PARENT sheet is supposed to be the one to CALL-NEXT-METHOD,
and there should be no :AROUND qualifier anywhere.

  * Fixed existing code to conform to the new (correct) scheme.
sheet/sheet-multiple-child-mixin: A mixin class for sheets that can have children.

  * This is a straightforward implementation of the parent side of
the sheet hierarchy protocol.

  * We can still implement SHEET-SINGLE-CHILD-MIXIN and
SHEET-LEAF-MIXIN if we care to, but they seem rather useless to me
at this point.
geometry/coordinate: The coordinate type.

  * For the time being, we're declaring coordinates to be integers.
geometry/transformation: The TRANSFORMATION protocol-class.

  * The beginnings of the CLIM model for describing relationships
between coordinate systems (most notably, between a sheet and its
parent).
geometry/transformation-protocol: Predicates and operations involving transformations.

  * This is the basics of the transformation protocol.  Mostly
generic functions, most of which need to be implemented for each
instantiable subclass of TRANSFORMATION.
geometry/identity-transformation: A transformation that does "nothing".

  * There are subtleties involved in this implementation, but it
suffices for defining the identity transformation and its
specified public interface.
geometry/scaling-transformation: Initial rough-in.

  * This is a single subclass of TRANSFORMATION, used for both
pure translation transformations and scaling transformations.  It
is largely complete, contains extensive commentary, and has been
lightly tested.
sheet/sheet-hierarchy-protocol: Fix bug in MAP-OVER-SHEETS.

  * An easy oversight: MAP-OVER-SHEETS only called FUNCTION for
SHEET and its immediate children, not all of its descendents.

  * Fixed, by introducing a lambda to recursively call
MAP-OVER-SHEETS from MAP.
load-nq-clim: Add a (temporary) load file to get nq-clim built.

  * Not much to see here, it's a hand-maintained linearization of
the dependency graph, a DOLIST with LOAD COMPILE-FILE, and REQUIRE
of :CLX.
geometry/rectangle-protocol: Add missed package dependency.

  * geometry/rectangle-protocol defines a BOUNDING-RECTANGLE*
method, but neglected to :USE geometry/bounding-rectangle-protocol,
leading to the method being defined on the wrong generic function.

  * Fixed, by adding geometry/bounding-rectangle-protocol to the
package :USE list.
geometry/bounding-rectangle-api: Fix missed comma in a backquote expression.

  * The backquote expression in WITH-BOUNDING-RECTANGLE* was
missing a comma, leading to STYLE-WARNING messages about REGION
being defined without being used and then being used without being
defined.  Fixed, by adding the missing comma.
geometry/bounding-rectangle-api: Fix blown exported symbol name.

  * Originally exported "WITH-BOUNDING-RECTANGLE", but the actual
symbol that should have been exported is "WITH-BOUNDING-RECTANGLE*".
Fixed.
sheet/sheet-hierarchy-protocol: Docstring update.

  * A careful reading of the CLIM II spec suggests a specific
additional semantic for SHEET-CHILDREN, not explicitly spelled out
in the specification, but implicit in the descriptions of some of
the other functions.  Update the docstring to make this explicit.