Maxunpooling changes to enable fp16 in armv8a multi_isa builds

* Code guarded with __ARM_FEATURE_FP16_VECTOR_ARITHMETIC needs
  to be moved to an fp16.cpp file to allow compilation with
  -march=armv8.2-a+fp16

* fp16.cpp needs to use the template max_unpooling() which had to be moved from impl.cpp to impl.h

* Partially resolves MLCE-1102

Change-Id: Iabf9a9ba9d2441032f931f33aad97acc3e332575
Signed-off-by: Pablo Marquez Tello <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/10362
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Jakub Sujak <jakub.sujak@arm.com>
diff --git a/filelist.json b/filelist.json
index 215b363..b74e2e2 100644
--- a/filelist.json
+++ b/filelist.json
@@ -1855,8 +1855,7 @@
             "fp32":["src/cpu/kernels/maxunpool/generic/neon/fp32.cpp"],
             "fp16":["src/cpu/kernels/maxunpool/generic/neon/fp16.cpp"],
             "qasymm8":["src/cpu/kernels/maxunpool/generic/neon/qasymm8.cpp"],
-            "qasymm8_signed":[ "src/cpu/kernels/maxunpool/generic/neon/qasymm8_signed.cpp"],
-            "common":["src/cpu/kernels/maxunpool/generic/neon/impl.cpp"]
+            "qasymm8_signed":[ "src/cpu/kernels/maxunpool/generic/neon/qasymm8_signed.cpp"]
           }
         }
       },