[WebGPU] Add robustness provider option (#31971)
### Description
- Adds the WebGPU enableRobustness provider option to control Dawn
robust buffer access for ORT-created devices.
- Exposes the boolean option through the shared JavaScript type surface
for the native Node.js WebGPU binding.
- Keeps robustness independent from validationMode and preserves
build-specific defaults: enabled in Debug, disabled in Release and
RelWithDebInfo.
- Handles the process-global WebGPU device lifecycle: the first created
device establishes the value; later conflicts and requests for external
devices are ignored with a warning.
- Does not forward the option through browser/WASM WebGPU, where
standard WebGPU APIs cannot configure Dawn toggle chains.
- Adds focused native coverage for explicit values, defaults, invalid
input, validation independence, conflicts, compile-only contexts, and
external devices.
### Motivation and Context
Dawn buffer robustness is a device-creation setting that is separate
from validation. ONNX Runtime previously enabled Dawn's
disable_robustness toggle unconditionally, so native users could not
request robust buffer access or configure the safety/performance
tradeoff independently.
This change exposes that choice for native WebGPU device creation while
making the shared-device behavior explicit. It keeps the
performance-oriented non-Debug default and enables the safer Debug
default.
### Testing
- build\Windows\Release\Release\onnxruntime_provider_test.exe
--gtest_filter=WebGpuContextTest.* (8 tests passed)
- npm run prebuild --prefix js/web
- npx prettier --check common/lib/inference-session.ts
web/lib/wasm/session-options.ts web/test/test-types.ts