[CUDA] Fix Abs signed zero handling (#31477)
### Description
<!-- Describe your changes. -->
Ensure CUDA `Abs` returns `+0.0` for both `+0.0` and `-0.0`, with a
regression test checking the output sign bits.
### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
The existing implementation negates `+0.0`, producing `-0.0` instead.
This fixes the signed-zero behavior.
Fixes #31162