media: use hardware audio codecs except for aac encoder

A/V sync issues in recorded video are caused by hardware aac
encoder. Disable hardware aac encoder and use software encoder
instead.

The support for "needs-flush-before-disable" must be added to
"media/libstagefright/OMXCodec.cpp".
Conditionally use TI's wpa_supplicant

TI's wpa_supplicant must be manually added. Use it only if available,
otherwise use the regular wpa_supplicant.
power: ondemand tuning
libaudio: Fix "tunnel voice" bug.

Problem: During incoming calls, some users sound very echoey to the caller.

Hypothesis: setCallClockSync() is being called even entering MODE_RINGTONE,
when it makes sense that it should only be called when actually entering
the call itself, this also supports why it doesn't happen on outgoing calls,
i.e. instantly entering the call and activating the call clock sync rather
than activating it at the ringtone.

Solution: Restrict setCallClockSync() to only fire when prevMode != IN_CALL && mMode == IN_CALL.

Original patch: http://review.cyanogenmod.org/#/c/14306/
libaudio: beautify code
libaudio: disable verbose debugging
libaudio: force BT noise reduction and echo cancellation

Answering phone calls with a BT headset always disables the
noise reduction and echo cancellation, impacting the quality
of the sound.