IVGCVSW-6527 Support the new memory API in loaded network

 * enable external memory management for neon and ref backends
 * change m_TensorMemoryVector to hold shared pointers
 * change input layer backend Id to match backend id of connected layer

Signed-off-by: Finn Williams <finn.williams@arm.com>
Change-Id: I2216a724028312eb101b290df3f224177826b1a0
diff --git a/src/backends/backendsCommon/DefaultAllocator.hpp b/src/backends/backendsCommon/DefaultAllocator.hpp
index 2451db3..cf0f177 100644
--- a/src/backends/backendsCommon/DefaultAllocator.hpp
+++ b/src/backends/backendsCommon/DefaultAllocator.hpp
@@ -22,12 +22,12 @@
     void* allocate(size_t size, size_t alignment = 0) override
     {
         IgnoreUnused(alignment);
-        return ::operator new(size);
+        return ::operator new(size_t(size));
     }
 
     void free(void* ptr) override
     {
-        std::free(ptr);
+        ::operator delete(ptr);
     }
 
     armnn::MemorySource GetMemorySourceType() override