constraints: interrogate constraint solver for manipulator that caused constraint violation.

Because cassowary solves linear constraints using a simplex, we can look at a violated variable and then find any manipulators that are active which contributed to the violation (they will have a non-zero coefficient in the simplex tableau). So now if we have two related constraint systems and one of them has a violated motion constraint, the other will still be manipulable. Previously in the Twitter sample you could get it into a state where the sticky stack expansion was in violation and that would also prevent scrolling; now it won't.

This is a critical piece of infrastructure; without this we cannot scale up to multiple fingers and constrained objects in different states.

Next I'll pull the UpdateContext (which manages this feedback process) out of test.js. Then I can work on providing feedback during the touch (instead of just afterwards) so that overdragging undertracks correctly (for example). This is probably a customizable property of the motion constraint...