Fix #1175: Tighten the definition of Closure nodes.

Captures can have any type, but must always be immutable.

Parameters, and the `this` parameter, must always be of type `AnyType`, and the result type must be `AnyType` as well. Parameters can be mutable.
This does definitely not belong here. `js.Capture`s should be trees just like `js.ParamDef`s