Audio dsp addon handling

Attached a audio DSP processing system over add-ons.

This is my first version and not complete finished. Can you have a look over it and any ideas for things which must be improved or are wrong.

<b>The current system in steps:</b>
- Data is passed from CActiveAEBufferPoolResample to the DSP processing system if DSP enabled and minimum one add-on is available.
- All Add-ons are asked about the requested stream type to find available addons and modes, e.g. 5.1 Audio not need a stereo up mix.
- The system makes a list of master processing modes which are selectable from user.
- The system makes also a list of pre and post processing modes which are selectable and process point moveable inside Settings->System->Audio->Audio DSP Settings
- On data processing it goes over following steps:
  1. Input processing - Unmodified input stream and is send to all enabled add-ons for detection and error correction
  2. Input re-sample - Re sample of the input signal for the master processing, only one add-on is allowed for it.
  3. Pre processing - Used for any steps before master processing. All enabled add-ons functions are called to make this.
  4. Master processing - The main processing like, surround up mix or sound modification processes. Only one from user over menu selectable mode is allowed. Add-ons can pass multiple selectable modes to XBMC. If input channel alignment on it is higher as requested output and the master mode does not perform a down mix it becomes handled from ffmpeg re sample after return of master function.
  5. Post processing - Used for any other steps like, volume correction, equalizer and much more. All enabled add-ons functions are called to make this.
  6. Output re-sample - Re sampling of the processing signal to XBMC audio output processing.
 
The pre and post processing modes can be selected and moved within processing chain on audio dsp settings inside Settings->System->Audio.

<b>Things to do or finished:</b>
- The first version of dsp add-on headers and the basic system is finished.
- Things for me which missing and are to-do:
  1. Code cleanup
  2. Faults removal
  3. Add data types for AE_DSP_PROFILE to inform add-on about detailed stream source data, e.g. Dolby Digital, DTS (for handle DTS-EX)
  4. DSP database clean up if add-on is removed and stored data is present in it
  5. Create a helper documentation about a DSP add-on programming

Addon position
![audiodsp1](https://f.cloud.github.com/assets/6879739/2392569/ed697c82-a97a-11e3-897a-accbe46ea1ae.png)
The DSP enable position
![audiodsp - addon setting6](https://cloud.githubusercontent.com/assets/6879739/2752969/f1b56d86-c924-11e3-95b7-bd723ac63615.png)
The button position to select streaming DSP settings dialogue
![audiodsp - addon setting4](https://cloud.githubusercontent.com/assets/6879739/2752939/25c64204-c924-11e3-9424-109462f119ad.png)
The basic settings dialogue, separated in sub menus
![audiodsp - addon setting5](https://cloud.githubusercontent.com/assets/6879739/2752961/a3d2bc72-c924-11e3-9f1f-37eddecd9c78.png)
A add-on master mode settings dialogue
![audiodsp - addon setting](https://f.cloud.github.com/assets/6879739/2427662/a7117aec-abfe-11e3-90b3-670f6e94d22b.png)
Process chain information dialog (with CPU usage)
![audiodsp - addon setting2](https://cloud.githubusercontent.com/assets/6879739/2571813/d2d6db0e-b90a-11e3-9a8d-bf928e26956a.png)
Add-on mode process chain selection dialogue
![audiodsp - addon setting3](https://cloud.githubusercontent.com/assets/6879739/2571814/d2dfc69c-b90a-11e3-8b04-2e618e3cb3f9.png)



I think we should avoid dynamic memory allocation in a processing function. Should we move this to the create function?