backend for the gloss library that draws on a canvas