Fix typo in math_change.
Block.cancel() must return a Deferred.

(Also define undefined _cancel method)
Removed Block.add/removeInput methods.
Make controls_wait_until respond to its state.
Add Bind control.

Also - fix controls_dependents._run()