Implement literal pools for ARMv6

Uses a constant pool at the end of each block so that it is possible to directly load 32-bit values to a register in 1 cycle + memory load.
If the block goes out of range, a premature flush is executed.

A MOV or MVN will still be used if optimal to avoid the memory load.

Performance:
Depends on the game. Some games have only 5% improvement whereas others have been seen with a 30% frame rate improvement.