Update audio code based on the M7 kernel changes

I don't feel great about this change.  We are at some point X and the M7 was at some point Y and we want to end up at the same final point (MR2).  Using their patching does not in any way guarantee that we are even close to the desired destination.

Unfortunately, I tried a couple of approaches to patching up our branch and I felt like we were in limbo (too many HTC changes made too many conflicts to safely resolve).

I think applying these changes is the best option that we have, but feel free to disagree and not merge this changeset.