Add webgpu plugin EP pipeline (#27841)
### Description
This PR introduces a packaging pipeline for ONNX Runtime WebGPU EP
plugin for the following platforms:
- win/x64
- win/arm64
- linux/x64
- mac/arm64
Key changes:
**CI/CD Pipeline Additions and Improvements:**
* Added a new Azure Pipelines YAML pipeline
(`plugin-webgpu-pipeline.yml`) to automate building and packaging the
WebGPU plugin for Windows, Linux, and macOS, with parameterized builds
for architecture, API version, package version, and build type. The
pipeline validates parameter combinations and orchestrates
platform-specific packaging stages.
* Introduced modular pipeline stage templates for Linux
(`plugin-linux-webgpu-stage.yml`), macOS
(`plugin-mac-webgpu-stage.yml`), and a top-level packaging stage
(`plugin-webgpu-packaging-stage.yml`) to manage platform-specific build,
artifact staging, and publishing processes.
[[1]](diffhunk://#diff-8d9766b9dfb672636229c848b58bd4beb8469d8a2bc0aab7adfa332a04b49c25R1-R96)
[[2]](diffhunk://#diff-c97395e205146bf044dce86c089595772fd09e1f36e898fc20fb831583568a39R1-R106)
[[3]](diffhunk://#diff-4c2ad2fa235a30f8f589fa28c573e8e0969e997f1eafbdb3305b04743960b538R1-R75)
**Plugin Versioning and Build Configuration:**
* Updated `onnxruntime_providers_webgpu.cmake` to set the plugin EP
version to match `ORT_VERSION` by default, unless explicitly specified,
and to pass this version via a preprocessor definition for consistent
version reporting.
* Changed the plugin's reported version in `Factory::GetVersionImpl` to
use the new `ORT_PLUGIN_EP_VERSION` macro, ensuring the runtime-reported
version matches the build configuration.
**Codebase Maintenance:**
* Added a missing `<mutex>` include to `allocator.h` to ensure thread
safety and proper compilation.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>