MLCE-530 Add support for UnidirectionalSequenceLstm to RefWorkload

 * Add implementation of IsUnidirectionalSequenceLstmSupported to RefLayerSupport
 * Add RefUnidirectionalSequenceLstmWorkload
 * Refactor Lstm to be able to use for Lstm and SequenceLstm
 * Unit tests

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ibc066d213213a11b955dfefbe518de643298ba0c
diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp
index 606f531..16cf17c 100644
--- a/src/backends/reference/RefWorkloadFactory.cpp
+++ b/src/backends/reference/RefWorkloadFactory.cpp
@@ -712,4 +712,11 @@
     return std::make_unique<RefTransposeConvolution2dWorkload>(descriptor, info);
 }
 
+std::unique_ptr<IWorkload> RefWorkloadFactory::CreateUnidirectionalSequenceLstm(
+    const UnidirectionalSequenceLstmQueueDescriptor& descriptor,
+    const WorkloadInfo& info) const
+{
+    return std::make_unique<RefUnidirectionalSequenceLstmWorkload>(descriptor, info);;
+}
+
 } // namespace armnn