Refactor Forced Import

 * Find and replace all workloads associated with imported IO
 * Only attempt tensorhandle replacement if supported by all workloads
 * Add new RefBaseWorkload to enable forced input for ref backend
 * Store imported tensorhandles in preImportedTensorhandles instead of outputHandles
 * Create pre-imported tensorhandles at network load-time
 * Front load import workload validation to load network time
 * Only call ReplaceTensorHandle when needed

Change-Id: I3816a71b7f57ae90388bb16462a75d4ef3544fa7
Signed-off-by: Finn Williams <finn.williams@arm.com>
diff --git a/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.hpp b/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.hpp
index d0c000f..7a91cee 100644
--- a/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.hpp
+++ b/src/backends/reference/workloads/RefUnidirectionalSequenceLstmWorkload.hpp
@@ -7,7 +7,7 @@
 
 #include <armnn/TypesUtils.hpp>
 
-#include <armnn/backends/Workload.hpp>
+#include "RefBaseWorkload.hpp"
 #include <armnn/backends/WorkloadData.hpp>
 
 #include "Encoders.hpp"
@@ -16,7 +16,7 @@
 namespace armnn
 {
 
-class RefUnidirectionalSequenceLstmWorkload : public BaseWorkload<UnidirectionalSequenceLstmQueueDescriptor>
+class RefUnidirectionalSequenceLstmWorkload : public RefBaseWorkload<UnidirectionalSequenceLstmQueueDescriptor>
 {
 public:
     explicit RefUnidirectionalSequenceLstmWorkload(const UnidirectionalSequenceLstmQueueDescriptor& descriptor,