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/backend.mk b/src/backends/reference/backend.mk
index bf18284..17ddbe0 100644
--- a/src/backends/reference/backend.mk
+++ b/src/backends/reference/backend.mk
@@ -37,6 +37,7 @@
         workloads/Gather.cpp \
         workloads/InstanceNorm.cpp \
         workloads/LogSoftmax.cpp \
+        workloads/Lstm.cpp \
         workloads/LstmUtils.cpp \
         workloads/Concatenate.cpp \
         workloads/Pad.cpp \
@@ -95,6 +96,7 @@
         workloads/RefSplitterWorkload.cpp \
         workloads/RefTransposeConvolution2dWorkload.cpp \
         workloads/RefTransposeWorkload.cpp \
+        workloads/RefUnidirectionalSequenceLstmWorkload.cpp \
         workloads/Resize.cpp \
         workloads/Slice.cpp \
         workloads/SpaceToBatchNd.cpp \