ir: Add Nested Storage to Variable.
semantic: Rewrite nested functions as delegates.
visitor: Visit nodes in acceptTopLevelBlock with a for.

This allows modules to be added and still be visited.
semantic: Emit and move structs in the gatherer.
semantic: Don't remove nested functions in the gatherer.
semantic: Ensure that internal __nested variables aren't flagged for shadowing.
semantic: Add fields to nest structs.
semantic: Rewrite nested exprefs to accesses of the nestParam.