Please have a look at these enhancements and see if you want to merge them

Hi Zach,

Offering these performance enhancements to VECTO, which can be rather slow sometimes on mobile devices. A major speedup is for string drawing, under a new function DRAW-STRING-FAST, which caches character glyph bitmaps rather than vector-rendering them repeatedly. Another major speedup is for PNG encoding, but it is conditional only to mocl because it calls out to mocl's own PNG encoder. FWIW, wanted to keep it under ZPNG, but just couldn't achieve the necessary level of performance in a reasonable amount of engineering time.

Not sure if this will completely fit your vision for VECTO or your preferred coding style, so please feel free to reject or modify whatever changes. If necessary, we can maintain our own fork instead rather than go the merge route.

Changes:
* New type declarations for several functions.
* Added DRAW-STRING-FAST: like DRAW-STRING, but much faster.
* Added DRAW-IMAGE, which can combine images.
* SAVE-PNG now calls an optimized PNG encoder under mocl.
* WITH-CANVAS now provides an option not to close font loaders.