Remove use of ArmNN.hpp from other public headers

Also remove it from armnnSerializer and armnnUtils.

In general code within Arm NN should only include exactly what it needs.
This will help keep compile times down, and reduces the need for a
complete rebuild when anything in the public headers changes.

ArmNN.hpp should only be provided as a convenience for user code where the
user doesn't know enough of the API to decide which specific headers
they need.

Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I4ffcaa7662af4f88a1babf2bf17d03da6f77d665
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp
index be6fa64..91b6241 100644
--- a/src/armnnSerializer/Serializer.cpp
+++ b/src/armnnSerializer/Serializer.cpp
@@ -5,17 +5,18 @@
 
 #include "Serializer.hpp"
 
-#include "SerializerUtils.hpp"
-
-#include <armnn/ArmNN.hpp>
+#include <armnn/Descriptors.hpp>
+#include <armnn/LstmParams.hpp>
+#include <armnn/QuantizedLstmParams.hpp>
 
 #include <iostream>
 
 #include <boost/core/ignore_unused.hpp>
 #include <boost/numeric/conversion/cast.hpp>
-
 #include <flatbuffers/util.h>
 
+#include "SerializerUtils.hpp"
+
 using namespace armnn;
 namespace fb = flatbuffers;
 namespace serializer = armnnSerializer;