physics/constraints: fix bug in animation utility.

An animation that was cancelled from within its own tick method would not actually cancel. This is a bit of a heavyweight fix, though.
constraint: need to divide the delta by the coefficient since we're backtracking the relationship.
constraints: fix the other instance of screwing up handling of non-1 coefficients.
constraints: gmaps: add snap position constraints.

I must come up with a way to express these as inequalities instead of using code like this, since it's much more work than I'd like currently. I also want to explore the difference between "captive" and non-captive motion constraints because there's actually a really interesting concept to abstract there (in short: if a non-captive constraint's animation takes you out of violation then it should continue with the regular motion [friction/whatever] rather than remaining trapped -- so if you used underdamped springs for scrolling then they'd bounce you back in the direction you came from rather than just bouncing around the end point).
constraints: allow a motion constraint to specify its own enforcement motion.

Currently they can only specify things with the methods of springs (snap, setEnd) but that'll be cleaned up soon. For now it means you don't have to have the same damping and spring constants for every constraint.
constraints: gmaps: tweak the spring constants to be more damped.
constraints: gmaps: add more real bits.