perform selectFontFace before transformations
progress: accumulate all style attributes in a Style object

The problem with storing individual attributes in CairoState is that
it completely ignored the semigroup semantics for each attribute!
Much more correct---and easier---is to simply accumulate a current
Style value, which handles everything for us automatically.  Then we
can extract the right attributes when needed.  Some attributes, of
course, can be dispatched immediately instead of accumulating them;
but we don't bother preventing them from accumulating anyway.