Relaxed requirements for inlining function items.

 * `DynFuncCall`s now keep track of the function items they were contained in. A function item can only be inlined into a call that was not itself created when inlining the same function item.
 * Renamed `InlineFunc` to `Closure`.
 * Moved non-local bindings from `VarScope` to `Closure` because only inline functions have a non-empty closure.