abstracting over canvas context
Adding send for with
Adding New Canvas. Does to work yet.
Changing CanvasBuffer to CanvasContext