Initial support for 2-stage codegen process

Stage 1: Build JIT function signature
Stage 2: Build JIT function body