Fix #1175: Tighten the definition of Closure nodes.

Capture parameters are separated from normal parameters,
since they play very different roles, and have different
requirements.

Captures can have any type, but must always be immutable.

Parameters must always be of type AnyType, but can be mutable.

Additionally, thisType and resultType disappear, and are now
always implicitly AnyType.
Set `this` to `undefined` when inlining a JSFunctionApply.

This is the semantics of strict mode.
Merge pull request #1200 from sjrd/tighten-closure-nodes

Fix #1175: Tighten the definition of Closure nodes.