Add a Config class interface to AudioProcessing for passing options.

Pass the Config down to all AudioProcessing components.

Also add an EchoCancellationImplWrapper to optionally create different
EchoCancellationImpls.

BUG=2117
TBR=turaj@webrtc.org
TESTED=git try

Review URL: https://webrtc-codereview.appspot.com/1843004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4400 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/audio_processing/processing_component.h b/webrtc/modules/audio_processing/processing_component.h
index f1f367e..a5ee185 100644
--- a/webrtc/modules/audio_processing/processing_component.h
+++ b/webrtc/modules/audio_processing/processing_component.h
@@ -16,14 +16,17 @@
 #include "webrtc/modules/audio_processing/include/audio_processing.h"
 
 namespace webrtc {
+
 class AudioProcessingImpl;
 
 class ProcessingComponent {
  public:
+  ProcessingComponent() {}
   explicit ProcessingComponent(const AudioProcessingImpl* apm);
   virtual ~ProcessingComponent();
 
   virtual int Initialize();
+  virtual void SetExtraOptions(const Config& config) {}
   virtual int Destroy();
 
   bool is_component_enabled() const;
@@ -48,6 +51,7 @@
   bool enabled_;
   int num_handles_;
 };
+
 }  // namespace webrtc
 
 #endif  // WEBRTC_MODULES_AUDIO_PROCESSING_PROCESSING_COMPONENT_H__