Preliminary math.* integer support.

Signed-off-by: katlogic <kat@lua.cz>
Rework 5.3 integers.

Those things are far more subtle. Basically the semantics are:

* int ARITH int -> int
* int ARITH float -> float
* float ARITH float -> float
* int BITOP int -> int
* float BITOP int -> int
* int BITOP float -> int
* float BITOP float -> int

Integer results overflow.
Floats are only valid if n == floor(n).
Also strings can be coerced into integers and floats. Sheesh.

Signed-off-by: katlogic <kat@lua.cz>
5.3 integer JIT

Signed-off-by: katlogic <kat@lua.cz>