[MLAS] KleidiAI fix igemm regression (#28571)
### Description
<!-- Describe your changes. -->
This PR fixes a convolution performance regression affecting some OCR
models with large-kernel convolutions when the KleidiAI SME IGEMM
convolution path is selected.
The change has 2 parts:
1. updates to the KleidiAI IGEMM LHS packing to pack rows in bounded
chunks instead of packing the full LHS buffer up front, which reduces
memory usage and improves cache locality for large convolutions,
2. a new route selection function `ArmKleidiAI::SelectConvRoute` that
decides between `Igemm`, `GemmFallback` and `None` based on convolution
parameters and a workload size-based heuristic.
The function `CheckCapabilitiesSme` runs `SelectConvRoute` and only
returns true if the selected route is `Igemm`. The patch also adds a
standard GEMM fallback to the `ConvRoute` possibilities, and runs
`MlasGemm` if said fallback is selected. If the function selects `None`,
then the convolution falls back to `MlasSgemmOperation`.
### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
Fixes #27633.
---------
Signed-off-by: Qxiang Xu <Qixiang.Xu@arm.com>
Signed-off-by: Jonathan Clohessy <Jonathan.Clohessy@arm.com>
Signed-off-by: Martin Klacer <martin.klacer@arm.com>
Co-authored-by: Jonathan Clohessy <Jonathan.Clohessy@arm.com>
Co-authored-by: Damien Dooley <damien.dooley@arm.com>