[webgpu] refactor a few "context" classes (#26602)
### Description
This PR refactors a few "context" classes to make it clearer and support
new features.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>