Canvas. Bitmap'у рисовать сеткой из треугольников, для каждого узла свой "вес" (зависит от задачи). Отследить точку касания и при перемещении курсора изменять координаты узлов сетки(вес как раз для этого), на enterframe перерисовывать битмапу по треугольникам.
Важно! Просто так drawtriangle, "с наскоку" не сделать. Посмотрите как это сделано в treejs(рендер в канвас),
Давненько что-то отдаленное я делал
https://github.com/vissargo/Morphjs
По крайней мере возьмите от туда drawtriangles