more experimental utilities
parser: split "call" expr into: "id", "call", "transpose", "slice"
parser: fix let-block parsing, improve semicolon handling
semantic analysis revamp

* split symbol-checking and type-checking
* improve scope management