Optimization improvements.
Optimization improvements.

Improved memory cache.
Fixed cdq and added optimization when contains of eax are known.
Added EMIT_CALL_REG for calls without invalidation.
Added idiv optimization for known argument values.
Fixed movsx reg, reg error.
Memory read is replaced with register read if memory value is in the register.
mov and movsx operations invalidate register correctly when register on the left is used on the right.
EMIT_OP_REG_REG_MULT_REG_NUM correctly invalidates destination register.
EMIT_OP_RPTR_NUM retargets memory read if base address contains address computation and index is rNONE.
When lea is used, address size is sNONE, since it's an address computation, not memory read.
cmdIndex uses esi, so that better optimizations can be performed later.

WheretIB/nullc,WheretIB/nullc,WheretIB/nullc,WheretIB/nullc,WheretIB/nullc,WheretIB/nullc,WheretIB/nullc