[WebNN EP] Automatically use ml-tensor for outputs (#24282)
### Description
If it would improve performance, this patch moves outputs to MLTensor
backed Tensors.
### Motivation and Context
We are currently performing an extra copy on output tensors located in
the CPU when using the WebNN EP (MLTensor -(copy)-> wasm heap -(copy)->
JS). This patch removes this copy by moving the readback to JS instead
of wasm. As an extra benefit, we can also start the readbacks and wait
for them in parallel.
This change is similar to #23073