Added `avatar` method for superimposing text onto images.

Also added draw protocol to allow building images from scratch without an initial source image