Fix input validation and null-pointer dereference in STFTDecomposition graph transformer (#28465)
### Description
Validate that `frame_step` and `dft_size` (derived from `frame_length`)
are positive before they are used in buffer sizing and loop arithmetic.
Use SafeInt for the weight buffer allocation to guard against overflow.
Also fix an unconditional dereference of `window_recipient` which is
nullptr when the STFT node has no window input.
### Motivation and Context
A model with non-positive initializer values for frame_length or
frame_step causes signed-to-unsigned wrapping in size computations,
leading to out-of-bounds writes during graph optimization. The nullptr
dereference is a crash on any windowless STFT node.
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>