Fix SDIO HLE writing garbage to memory. When servicing a write-register request, it wrote the contents to the register offset plus 0x8d070000, which corresponds to the actual hardware registers, presumably in case the application wanted to read them directly rather than with a read-register request. WriteToHardware doesn't handle cached writes to registers, so it decided the address was RAM, applied RAM_MASK, and happily wrote the register contents to 0x81070000, causing random corruption. Since the PPC does not normally have access to those registers, there is no reason to be doing this in the first place. Use a member to store these values instead. (Also add a proper DoState.)