Canvas-based generation and image export methods

Refactored and added alternative generation functions using HTML Canvas,
including ability to draw to the document and export PNG/JPEG/++ data URIs
via a dummy canvas. Should work in a wider variety of browsers than the
original SVG->Canvas->PNG attempt because we aren't violating security
controls. (Safari 5+ is a go!)
Don't use git late at night

Keep getting rebasing conflicts because of simple errors.