Make Softmax kernels on OpenCL stateless

* ClSoftmaxKernel and ClSoftmax are created.
* ClSoftmaxKernel is now state-less and ClSoftmax handles
  the internal tensors required for computation.
* add_const_tensor() is added to TensorPack not only
  to have symmetric interface but also to benefit from
  implicit conversion.

Implements: COMPMID-3998

Change-Id: I4f823121777be24260fd12b2cd71a6ff718c4eed
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5087
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/docs/00_introduction.dox b/docs/00_introduction.dox
index 8616cb6..eb8256f 100644
--- a/docs/00_introduction.dox
+++ b/docs/00_introduction.dox
@@ -295,8 +295,8 @@
    - CLWidthConcatenateLayerKernel
    - CLWidthConcatenate4TensorsKernel
    - CLWidthConcatenate2TensorsKernel
-   - @ref CLLogits1DMaxShiftExpSumKernel
-   - @ref CLLogits1DNormKernel
+   - CLLogits1DMaxShiftExpSumKernel
+   - CLLogits1DNormKernel
    - CLHeightConcatenateLayerKernel
    - @ref CLGEMMMatrixMultiplyKernel
    - @ref CLGEMMLowpQuantizeDownInt32ScaleKernel
@@ -1400,7 +1400,7 @@
 
 v17.02.1 Sources preview
  - New OpenCL kernels / functions:
-   - CLLogits1DMaxKernel, CLLogits1DShiftExpSumKernel, @ref CLLogits1DNormKernel / @ref CLSoftmaxLayer
+   - CLLogits1DMaxKernel, CLLogits1DShiftExpSumKernel, CLLogits1DNormKernel / @ref CLSoftmaxLayer
    - CLPoolingLayerKernel / @ref CLPoolingLayer
    - @ref CLIm2ColKernel, @ref CLCol2ImKernel, CLConvolutionLayerWeightsReshapeKernel / CLConvolutionLayer
    - @ref CLRemapKernel / @ref CLRemap