Create a new way to write JIT

Use function pointer instead of switch to be able
to make opcodes size variable (using tag propagation
for example)
Improve NOP code generation

Use multi sized NOP to improve programm speed
and alignment
Hardcode constants in jit code

Use the p->k constant declaration in jit code
This behavoir optimize code with a lot of constants
Remove k from jit args

Remove k from jit args and from registers
Remove unused 'code' in stack : -64(%rbp)
Add JIT generation time informations
Remove useless ci from jit creation
Use jit lib to add or remove lua jit func

jit.add(funcs,...) used to add and create jit functions
jit.remove(funcs,...) used to remove and free jit functions

For the moment, the only one limitation is that a jitted function
cannot call a not jitted one. I have to fix it later
Add no param behavior for jit.add and jit.remove
Add stats for jit functions
Use savedpc instead of jitoffset for initial jump
Call unjitted Lua code from jitted one
Add opcodes stats for jit

Add opcodes stats for each jit (instances, not called)
Give stats as string (not fprintf)
do not call op_loadnil and clean vm code
Add comments
Add instruction called statistics
Remove usefull nop in prologue
Use a new way to create JIT

Use 2 passes way. The first to compute sizes; the second
to create the real code. It paves way to create
variable code size without making me headhake
Remove unused functions and structs
Remove unused NOP
Begin to deal with hooks