Output gain

The purpose of this branch is to add a gain to the output. It makes the output easier to manage, now that it is an actual node.

This required the `noOutput` property of dots in the definition. If `noOutput` is not given, it's value is `undefined`, which is equivalent to `false`. This change also required that the dot's listeners be modified, such that a connection cannot be made if `noOutput = true`.

Please review, and comment on anything out of place or unexpected. If it looks good, feel free to merge.