IVGCVSW-4316 First draft of IBackendProfiling and IBackendProfilingContext

* Introduce two new backend profiling interfaces IBackendProfiling
  and IBackendProfilingContext.
* Add a mechanism to pull a context from a backend through IBackendInternal
* Update CL, Neon and Ref backends to return an empty profiling backend.

Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I6e7438fcb126ad7a073a226862dc44836c9998b7
diff --git a/src/backends/backendsCommon/IBackendInternal.cpp b/src/backends/backendsCommon/IBackendInternal.cpp
index ad09730..c86d026 100644
--- a/src/backends/backendsCommon/IBackendInternal.cpp
+++ b/src/backends/backendsCommon/IBackendInternal.cpp
@@ -44,6 +44,12 @@
     return IBackendContextPtr{};
 }
 
+IBackendInternal::IBackendProfilingContextPtr IBackendInternal::CreateBackendProfilingContext(
+    const IRuntime::CreationOptions&, armnn::profiling::IBackendProfiling&) const
+{
+    return IBackendProfilingContextPtr{};
+}
+
 // Default implementation of OptimizeSubgraphView for backward compatibility with the old API.
 // Override this method with a custom optimization implementation.
 OptimizationViews IBackendInternal::OptimizeSubgraphView(const SubgraphView& subgraph) const