moved XMLParser to .util
read() now handles urls without a Last-Modified

- though really the cache-handler should know about etags too…
for future reference
new aat_attrs() util

- converts from lig/sc/osf/etc kwargs to coretext features suitable for
an nsattributedstring
additional typography imports
BoundsMixin now handles None correctly

- it was raising exceptions when instantiating Text objects without
fixed dimensions
typos & url updates
oops. shouldn't have unflipped the views
no longer keeping track of NSFont ‘traits’
font arg parsing now much saner
revamped typography subsystem

- added font() args for opentype/aat features controlling ligatures
(lig), small caps (sc), number case (osf), number spacing (tab),
sub/superscripts (vpos), and automatic fractions (frac). all the args
can be set to booleans or 0/1
- the `lig` and `sc` args can also be set to `all` (the keyword, not a
string) to enable rare ligatures and to small-capify both u&lc
respectively
- the new `tracking` arg sets letterspacing in thousandths of an em
(same scheme as in the Adobe apps)
- font() and text() can both take an `align` arg now rather than having
to set it through the align() command
- switched the default typeface to Helvetica Neue
- made Font objects immutable