Use a single threadpool JVM-wide for JIT compilation

Long-term the number of threads here should be configurable externally
probably. But for now it's hardcoded to 8 instead of 5 per
JITBasicBlockCompiler, which under dynjs-spec runs was causing over
800 of these things to sit around until JVM exited.
Short-circuit stringToNumber logic if there are no decimal digits

We only do this after the hexadecimal check since anything left is
required to have at least one decimal digit. This is mainly to avoid
calling Double.valueOf or Long.valueOf on the string just to rescue
the exception that will throw.