Fix WebGPU Conv2dMM input indexing for vec3 channels (#33432)
### Description
Conv2dMM assembles vec3 inputs from scalar storage but divided the
channel coordinate by four. This read the wrong channels for input
counts such as 6, 9, and 15. Use the scalar storage coordinate for this
path.
Add FP32/FP16 regression tests with dynamic and initializer weights,
plus 3-channel, scalar, and vec4 controls.
### Motivation and Context
Fixes #32928.
The attached nine-channel model still reproduces the reported error on
current main. Three-channel inputs hide the bug because their starting
channel is always zero.
### Validation
- Windows/D3D12 Release build and lint pass.
- `onnxruntime_provider_test
--gtest_filter=*Conv2dMMInputChannelsTest*`: 28 passed, no skips; 12
cases failed before the fix.
- Attachment maximum error versus CPU drops from 0.6985353082 to
1.788e-7. Profiling confirms WebGPU Conv with CPU fallback disabled.
- macOS Metal was not tested.