[WebGPU] Einsum fixes for 5D tensors (#27779)
### Description
<!-- Describe your changes. -->
Fixes WebGPU Einsum op by replacing the manual
`uniforms.inputN_shape[idx]` string with `GetElementAt(...)` which
correctly handles uniform shape access for all tensor ranks.
I also added a bunch of tests for this...
### 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. -->
Closes https://github.com/microsoft/onnxruntime/issues/27762