[webgpu][dawn API optimization] workgroup dispatch (#24329)
### Description
This PR is one of a series of changes for optimization of Dawn API
usage. See https://github.com/microsoft/onnxruntime/pull/24281
Optimize the code for workgroup dispatch in the `WebGpuContext` class.
The updated code prefers using the C-API instead of the C++ API for
WebGPU. This is because the C++ API uses class `wgpu::Buffer`, which
causes significant amount of calls to `wgpuBufferAddRef` and
`wgpuBufferRelease` to ensure the lifecycle of the buffer is managed
correctly. For this specific use case in ONNX Runtime (launch a compute
shader program), using the C-API is more efficient.