CanvasRenderer: Refactoring tvgObject management
Thorvg is designed for immediate rendering, tvg objects use unique ptr.
However, CanvasRenderer, Shape, Drawable, and DrawableGroup inherit BaseHandle
and work according to the lifecycle of Dali objects.
CanvasRenderer classes unnecessarily checks whether tvgObject is deleted.
So we don't push each in each AddDrawable method. Just before drawing,
we clear the canvas and push all the objects managed by the list directly.
The memory of the pushed object is managed in the canvas.
Each Drawable class only needs to manage its own tvg object.
Change-Id: I373fbe4a34c8b8a3a72d222744226f84075575d7
18 files changed: