line-layout cleanup
fontspec() now incorporates line-layout args

- `leading`, `tracking`, `hyphenate`, and `align` are now valid
stylesheet attributes
FrameSetter now finds its own alignment

- uses the graf-style on the first glyph to be displayed
- as a result it no longer needs to be handed-off by the parent Text
consolidated line-layout state in the Font object

- Font objects now store their own line-spacing & -wrapping settings
- added `leading`, `tracking`, `hyphenate`, and `align` properties for
introspection purposes
- _ctx no longer needs to manage the _typography tuple
moved Text et al. to a separate module

- gfx.text gets Text and the nslayout wrappers
- gfx.typography keeps the non-grob font & style objects
- the fonts() command moved from _ctx to gfx.typography
new gfx.Text module

- defines the Text grob, plus the FrameSetter class that deals with the
cocoa text system
- exported classes include TextFrame (used with the .flow() method) and
TextMatch (returned by the .find() and .select() methods)
cleaned up Text interaction w/ the parser