Fix indirect Zones and use in ViewPort example

Fixes #73

This simply uses completely separate PGraphics for drawing rather than
the partial PGraphics we use for the state of the Zone, even though it
might have been possible to use the Zone's PGraphics it would be time
consuming and would likely introduce bugs when using direct Zones