Defer compilation until all first execution

This is needed to let all plugins register their natives because we get their
addresses during compilation (in release builds we emit direct calls).
OnJITCompile should return non-zero by default