MLECO-3164: Additional refactoring of KWS API

Part 1
* Add KwsClassifier
* KwsPostProcess can now be told to average results
* Averaging is handlded by KwsClassifier
* Current sliding window index is now an argument of DoPreProcess

Change-Id: I07626da595ad1cbd982e8366f0d1bb56d1040459
diff --git a/source/application/api/common/include/Model.hpp b/source/application/api/common/include/Model.hpp
index 70c6245..4892757 100644
--- a/source/application/api/common/include/Model.hpp
+++ b/source/application/api/common/include/Model.hpp
@@ -137,13 +137,13 @@
         const tflite::Model* m_pModel{nullptr};            /* Tflite model pointer. */
         tflite::MicroInterpreter* m_pInterpreter{nullptr}; /* Tflite interpreter. */
         tflite::MicroAllocator* m_pAllocator{nullptr};     /* Tflite micro allocator. */
-        bool m_inited{false}; /* Indicates whether this object has been initialised. */
-        const uint8_t* m_modelAddr{nullptr}; /* Model address */
-        uint32_t m_modelSize{0};             /* Model size */
+        bool m_inited{false};                              /* Indicates whether this object has been initialised. */
+        const uint8_t* m_modelAddr{nullptr};               /* Model address */
+        uint32_t m_modelSize{0};                           /* Model size */
 
-        std::vector<TfLiteTensor*> m_input{};  /* Model's input tensor pointers. */
-        std::vector<TfLiteTensor*> m_output{}; /* Model's output tensor pointers. */
-        TfLiteType m_type{kTfLiteNoType};      /* Model's data type. */
+        std::vector<TfLiteTensor*> m_input{};              /* Model's input tensor pointers. */
+        std::vector<TfLiteTensor*> m_output{};             /* Model's output tensor pointers. */
+        TfLiteType m_type{kTfLiteNoType};                  /* Model's data type. */
     };
 
 } /* namespace app */