Allow different widths and heights to be set

I just moved the 300 x 300 default value to the model, everything seems to continue to work fine. This allows canvasWidth and canvasHeight to be passed in when the view is extended.