* cacheCanvas now has HTMLCanvasElement type (avoid Object)