[WebGPU] Handle absent optional bias in convolution and Attention (#33719)
### Description
Conv and ConvTranspose can receive an explicit empty optional-bias slot.
WebGPU treated that slot as a tensor because it contributed to the input
count, then dereferenced null. Attention similarly forwarded an omitted
projection bias as a null third MatMul input.
Determine bias presence from the actual tensor in convolution paths, and
append Attention's MatMul bias only when supplied.
Keep the positive runtime regressions WebGPU-specific: omitted,
explicit-empty and nonzero supplied biases, fed/initializer weights and
biases, 2D/3D convolution, FP32/FP16 spatial cases, and Attention.
Explicitly select WebGPU with Full validation and disable CPU fallback.
Retain the common Conv/ConvTranspose test rejecting missing required
weights with an explicit bias during graph validation. Other EP fixes
are deferred from this PR.
### Validation
- Repository lintrunner and whole-PR whitespace checks pass.
- MSVC syntax checks pass for both changed test files, including the
WebGPU fixture with contrib operators disabled.
- The current native rebuild stopped while writing a precompiled header
because E: ran out of disk space. Fresh runtime validation of this test
relocation is pending CI.
- Historical Windows x64 Release / NVIDIA D3D12 validation at
`413060e4ae`: all six focused regressions and 65 existing convolution
tests passed with shader-cache validation. Earlier fail-before checks
reproduced the WebGPU access violation without the production fixes.
These results precede the latest merge and test relocation.
Local native tests use a focused provider-test target with bundled Dawn.
Intel-specific im2col execution, shared-plugin runtime and the full
provider suite were not run locally.