Allow global_declaration to reference variables.

- Such a construct works like a Bind control.
- Add missing connectivity-change emits in Block.
Allow updating variable declaration at runtime.
Updates to blocks.

- Use set() for variables to avoid duplicate event listeners.
- Allow passing a default value to getInputValue()
Allow control_bind var to be changed at runtime.
Use set() during dependency calculation.
Return the Variable.set Deferred in math_change.
Allow dependents to be global blocks.

- Dependents can now be global blocks, and if running will stop with the
workspace.
- Dependents can be added or removed during execution.
- Refactor controls_bind cancellation to work like
controls_statemonitor.
- Make cancellation of input block no longer give an error.