Fix cascading failure when opening graphs

* Lexer state needs to be flushed on failure to open.
iOS default font is Times New Roman
UTF-8 codes up to 4 bytes

* Refactor for arbitrary number of bytes
Fix small leak in ortho
Quartz: format to UTI through function instead of array

* Function is safer: non-existent format won't crash

* Function is better encapsulated: strings not exposed in header
Fix bug 2372
Quartz: formats ico:quartz and icns:quartz for Mac OS X
Quartz: simplify text drawing

* Text attribute takes foreground color from context and allows one call to draw entire line, rather than having to draw each glyph run.

* We can now draw multicolored fonts such as emoji.
Quartz: move iOS flip context code

* Move iOS flip context code from quartzgen_textpara to -[GVTextLayout drawInContext:], since this is specific to GVTextLayout and not iOS rendering. This will eventually allow iOS and Mac OS X to share the same CoreText-based rendering.
Fix bug 2393
Fix bug 2392
For orthogonal routing, we don't impose margin around the nodes but just
use the node's bounding box.
Quartz: correctly handle other bitmap formats in iOS

* On iOS, temp scratch files were memory mapped for all bitmap formats but only cleaned up for FORMAT_CGIMAGE. This fixes that and cleans up the surrounding code flow.

* Don't use job external context to determine whether to render FORMAT_CGIMAGE. The format + job context is sufficient for rendition.

* This also fixes export PDF warnings: bitmap context functions had been called on PDF context.
Quartz: rework text layout

* quartz_size_layout now respects font leading, even if it is zero

* quartz_textlayout now correctly sets yoffset_centerline, consistent with pango layout
Quartz: more bitmap formats, better text for iOS

* Support was already present on Mac OS X, so we only need to judiciously re-enable for iOS.

* iOS 2.0 and later now uses Image I/O for more bitmap formats.

* iOS 3.2 or later now uses CoreText for better text layout and rendering.
Visio: fix typo for static plugins
Merge pull request #4 from pixelglow/fix-cascading-fail-on-opening-graph

Fix cascading failure when opening graphs
Merge pull request #5 from pixelglow/fix-ortho-leak

Fix small leak in ortho
Merge pull request #7 from pixelglow/ios-default-font

iOS default font is Times New Roman
Merge pull request #8 from pixelglow/utf8-codes-up-to-4-bytes

UTF-8 codes up to 4 bytes