add Base.Graphics module. ref #1609

The two basic pieces are geometry and drawing. Drawing is based on a
minimal subset of the Cairo rendering model. I'm not sure whether this
is appropriate; for example we might want instead a stateless
deferred-mode API, or nothing about drawing in Base at all.