[jit] Add lazy script decorator
Some users maintain libraries of code that is largely trace-able but not
script-able. However, some functions may need to be `@torch.jit.script`ed if
they contain control flow so the tracer will use the compiler version.
This however impacts library start up time as in #33418, so this PR adds
a workaround in the form of a `@torch.jit._lazy_script_while_tracing`
that will only initialize the compiler if the function is called while
actually tracing.