fabric.js has 2 kinds of canvas
1. static canvas, which only draw objects(line, circle, triangle, ellipse, rect, polyline, polygon, ...) and (morphing) animation. It is similar with rojo's canvas plugin, with more functions.
2. interactive canvas, which not only draw objects, but also allows dragging, resizing them with predefine control points.
Since fabric.js does not use webgl, the performance of moving or rotating objects should be worse then C2 engine ideally.
But it is still a good (static) canvas api, to draw polygon at runtime.