add --compile={yes|no|all} option
yes - default
no - turn JIT off
all - when building system image, compile exhaustively
an image built with compile=all can run with compile=no

make constructors work with static compilation, again
passing static parameters through closure environments

move ctor_factory to TypeName, since there is only one
per family of types anyway.