Update createCanvas function for better performance

I set up the performance about 100% by modifying the createCanvasAnd2dContext() function. The old function creates always a new canvas. My version reuse the canvas. This solution is still a bit hacky, but a lot better than the old solution. #5