no longer redefining the exception class all over the place

- moved it to the main package __init__
- currently waiting to discover there's some terrible import-related
edge case that this will trigger...
updated grammar
added measure() function to return size of any grob

- previously all the objects had their own, differently named methods
for getting a w,h tuple.
- measure() works with file objects (pointing to image files) and
strings (to be rendered as Text then measured) as well as
Text/Image/BezierPath grobs
- mostly obviates textwidth(), textheight(), textmetrics(), and
imagesize()
new tuple subclasses for Size and Region (a.k.a. nssize & nsrect)

- with friendlier reprs plus named-attr access to elements
- also started cleaning up floats in repr strings to trim trailing
zeroes