arc() and oval() can optionally close the path

- when less than a full-circle `range` is specified, close=True will
add line segments between the endpoints
- for oval, the closure is a simple chord
- for arc, the closure draws a pacman/pie chart piece

[it’s unclear to me which of these is ‘correct’ behavior but i’m also
loath to add more state/constants for this…]
the bezier() context now supports arcto()

- a dumbed-down version of nsbezier’s impressively unintuitive
appendBezierPathWithArcFromPoint:toPoint:radius:
no longer ignoring fill

- oops
made transform handling more concise
canvas can now clear already-drawn grobs

- clear() erases the canvas
- clear(<grob>) removes the bezier/text/image object from the canvas
but leaves everything else undisturbed
necessary imports
clip() improvements

- calls to drawing primitives can be passed as args. e.g., `with
clip(rect(0,0,10,10)):`
- the `mask` argument controls whether to allow drawing inside or
outside of the clipping path
- still no image-mask support though…