Fix WebGPU GatherBlockQuantized dispatch failure for empty indices (#29030)
### Description
`GatherBlockQuantized` on WebGPU computes the dispatch size as
`ceil(output_size / 64)`, which is 0 when the gather output is empty
(e.g. an empty indices tensor), and `NormalizeDispatchGroupSize` rejects
the (0, 1, 1) dispatch. Return early for an empty output instead,
matching other WebGPU kernels.
Adds `GatherBlockQuantizedOpTest.WebGpu_EmptyIndices_8Bits_Uint8`.
### Motivation and Context
Fixes #28772.