Fix up MP3_DREQ read to have correct context and actually call read method; don't seem to have hit this but seems what was intended.
split out MP3_DREQ while loop into its own method, with notes re future improvements
simplify register read, I cannot find support in datasheet for checking DREQ mid-word…
also simplify register writes; previous code did not release CSN on SPI error so this just assumes we will get no error as a lot of the rest of code does…