don't allocate an unneeded PGraphics

This greatly reduces the memory required, first by using our own
PGraphics to render into, and second by clearing allocations in our
PGraphics when we are rendering directly.

We use as little as 200MB of heap space for 12000 zones, so we are no
longer bottlenecked by memory usage

Fixes #125
Fixes #98