Adding CanvasNode to support arbitrary Canvas drawing