Add missing locks to audio class
Increase audio buffering to gpu

When the arm is busy the gpu fifo can underrun, especially when audio codec uses short duration packets (like DTS)
Also increasing the packet size makes better utilisation of the audio queue inside the GPU
Fix dos line endings
Add sleep to keyboard thread to avoid hammering cpu
Limit buffering checks and control polling to 50 times per second
Increase buffering threshold after underrun, like xbmc
Add Dynamic Range Compression scheme

This adds a DRC scheme. A number of dBs of amplification can be chosen.
The audio_decode component is setup to do the usual downmix operation early
before most of the audio buffering. This means we get a second or two to
detect if the downmix would overflow. This allows the amplification to be
attenuated in time to avoid the clipping.
The attenuation gradually decays when overflow condition stops.

Requires updated firmware