regcache: Fix and optimize register spilling in lightrec_alloc_reg_temp
Dynamically allocate the lightrec_state structure

This allows the mem_map to be inlined inside the state structure,
for faster access from recompiled code.
regcache: Fix non-working function lightning_reg_to_lightrec
regcache: Added function lightrec_free_reg

It can be used when only one specific register should be freed, and not
all of them.
emitter: Recompile SB/SH/SW/LB/LBU/LH/LHU/LW
lightrec: Skip recompilation of NOPs
Change prototype of lightrec_execute, drop lightrec_execute_block

The lightrec_execute() function takes a PC address as parameter. When
exiting, it will return the PC of the next block that should be executed
to resume the execution.