Reduce memory access in noise generation.
More efficient noise generation taken from blargg's code in Snes9x 1.53.
Remove shifted envelope heights from the code, because one is always set from the other and the shifted height is not used in saved states.
Remove redundant writes to support reverse stereo. Define FOREVER_FORWARD_STEREO.
Revert "Remove shifted envelope heights from the code, because one is always set from the other and the shifted height is not used in saved states."

This reverts commit e3bb4a5f62ab6b38eb1a58e700b7d713b4e397b0.
Loop unrolling sucks. It was adding loads of instructions per audio sample.