Don't trigger self-modifying code logic (to recompile IWRAM or EWRAM) if the value to be written there is already equal to the current value. This may also improve cache behaviour, writing back fewer cache lines.

Added to this commit are two new expensive statistics:
* DMA bytes to RAM, which counts how many bytes have been transferred into IWRAM and EWRAM via DMA by the current game;
* Modified DMA bytes, which counts how many of those DMA-transferred bytes were actually modified.