Rendering images is kind of sane

I added `lc.getImage({scale, clipTo: {x, y, width, height})`. `clipTo` defaults to the bounding rect of all shapes. The old `canvasForExport` and `canvasWithBackground` work as before.

After this comes finite drawing canvas bounds, and multi-canvas drawing so backgrounds work correctly. Hence the change from `util.sizeToContainer(canvas, callback)` to `util.matchSize(elementToMatch, elementsToResize, callback)`.