Added a new mechanism to set and clear hardware breakpoints

The calculation of the address and size of the accessed memory area has also been revisited.

The tests pass now, at least on my machines, both 32- and 64-bit. The code is ready for testing and experimentation.

Besides all that, I have also implemented checking if the contents of the memory area that an instruction is about to access have changed during the delay (similar to what MS DataCollider does).