[ORT] onnxruntime_perf_test: Add multi-shape profiling support to perftest tool (--data_shape) (#29571)
### Description
This PR adds a `--data_shape` flag to `onnxruntime_perf_test` app that
enables profiling multiple input shapes within a single session. The
model is compiled once and then run with each specified shape group in
round-robin order, providing per-shape latency statistics (Avg, Min,
Max, P50, P90, P95, P99). This is useful for evaluating dynamic-shape
model performance across different input dimensions without needing to
recompile or restart the session for each shape.
Usage:
#With -I (generate random default inputs of specified shapes):
`onnxruntime_perf_test.exe -v -e cpu -m times -r 10 -I --data_shape
"data:[1,3,60,10][1,3,60,20]" "model.onnx"`
#Without -I (select matching test data folders):
`onnxruntime_perf_test.exe -v -e cpu -m times -r 10 --data_shape
"data:[1,3,60,10][1,3,60,20]" "model.onnx"`
### Motivation and Context
Addresses the feature request: #28628
---------
Co-authored-by: n1harika <niharika.sathish@intel.com>