morphic: add CanvasMorph.onCanvasChanged()

which gets called whenever the canvas needs to be repainted