alpha(), blend(), and shadow() now support layers

- `effects’ methods can now be called in a `with` statement and will
apply to all drawing in the block as a pre-composited group (rather
than as effects to be applied per-grob)
- added noshadow() as a convenience for shadow(None)
- dropped the layer() command which used to provide this behavior
prevent invisible ink

- bezier is properly ignoring stroke/fill of None rather than drawing
in a 0% opaque color
- likewise _fillcolor & _strokecolor can be None now (in addition to a
Color, Pattern, or Gradient in the case of fill)