[mlir][memref] Canonicalize memref.reinterpret_cast when offset/sizes/strides are constants. (#163505)
Implement folding logic to canonicalize memref.reinterpret_cast ops when
offset, sizes and strides are compile-time constants. This removes
dynamic shape annotations and produces a static memref form, allowing
further lowering and backend optimizations.