[QNN EP] Dump QNN json graph (#22843)
### Description
Adds QNN provider options to save the generated QNN graphs into JSON
files. These JSON files contain information about the QNN nodes,
tensors, data types used in the corresponding graph. These JSON files
can optionally be loaded by [QNN
Netron](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-50/tools.html#qnn-netron-beta)
to visualize the QNN graphs generated by QNN EP.
New QNN provider options:
- `"dump_json_qnn_graph"`: Set to "1" to dump QNN graphs generated by
QNN EP as JSON files. Each graph partition assigned to QNN EP is dumped
to a separate file.
- `"json_qnn_graph_dir"`: Directory in which to dump QNN JSON graphs. If
not specified, QNN graphs are dumped in the program's current working
directory. Ignored if `"dump_json_qnn_graph"` is not set.
### Motivation and Context
Makes it easier to debug, visualize, and understand the QNN graphs
generated by QNN EP.
---------
Co-authored-by: Hector Li <hecli@microsoft.com>