Aggressive constprop in mapslices (#54928)
This helps improve type-inference, e.g. the return type in the following
call is concretely inferred after this:
```julia
julia> @inferred (() -> mapslices(sum, reshape(collect(1:16), 2, 2, 2, 2), dims=(3,4)))()
2×2×1×1 Array{Int64, 4}:
[:, :, 1, 1] =
28 36
32 40
```
This should address the first concern in
https://github.com/JuliaLang/julia/issues/54918