Sound Control: fix register issue when fighting with HTC AudioHAL (rev 1)

HTC's Closed Sourced AudioHAL was doing something funky to their own shadow
registers which caused 1 of amps to be turned off when enabling another one.

instead of using HTC's own shadow regs, make my own shadow regiters to store
my own values.  Also update the enabling sequence to use my shadow regs so
I have 100% control over them.

also fixed a critical memory corruption derp on my part :( and added mutex
protections to prevent race conditions (making the updates atomic)

The original simplistic hacking force wasn't strong enough against the darkside
that is the HTC AudioHAL :p  Deep magic was needed to fully penetrate and
achieve its intended goal ;)

Bump to version 2.1 to indicate this update

Signed-off-by: faux123 <reioux@gmail.com>