fix CanvasTransformer StackOverflow bug

CanvasTransformer originly keep a CanvasTransformer as private field in order to easily concatenate the animation. However its implementation cause StackOverflow error so i recently provide a new design.