size() can now use units other than px

- usage: size(w, h, px/pica/inch/cm/mm)
- when a unit arg is specified, positions & sizes used in drawing
commands will be interpreted in that unit.
- strokes, effects, and typography still use points though (let’s not
get too crazy here)
- the px, inch, pica, cm, and mm constants are defined relative to the
canvas unit. thus `10*px` will always be ten pixels, regardless of how
the canvas was set
- the WIDTH and HEIGHT globals now update themselves even outside of
the application (and its _ns trickery)