CanvasLayer rebuild with CanvasContextWrapper taking over forwarding behavior