Well you could just make the shapes be sprites with the drag and drop behavior. The connections and verifying the correct position would be a lot trickier, but as always any problem can be solved by breaking the problem down into simpler sub problems.
The most I've done is some node based stuff here:
Similar perhaps, so it could help with ideas.
D3.js is cool and all but it's something on it's own which isn't really combinable with C2. I mean you could but it would be simpler to just use it.