canvas: fix #draw_image
canvas: allow creating a canvas from an image
canvas: add #append_to
canvas: fix #pattern