WebNN: Support 0-D scalars

This CL fixes the WebNN spec and implementation issue [1] and allows to
present a 0-D scalar operand by empty dimensions.

This CL also adds test cases for MLGraphBuilder, XNNPACK backend, WebNN
service and DirectML backend for 0-D scalar operand.

[1]: https://github.com/webmachinelearning/webnn/issues/390

Bug: 1498803, 1273291
Change-Id: Ic30602d6a1cdbe38ca3d384ffb7d8fe053b0a5a7
Cq-Include-Trybots: luci.chromium.try:win11-blink-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5029273
Reviewed-by: Jiewei Qian <qjw@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Commit-Queue: ningxin hu <ningxin.hu@intel.com>
Reviewed-by: Weizhong Xia <weizhong@google.com>
Cr-Commit-Position: refs/heads/main@{#1225264}
diff --git a/webnn/resources/test_data/pow.json b/webnn/resources/test_data/pow.json
index b35a962..a097c21 100644
--- a/webnn/resources/test_data/pow.json
+++ b/webnn/resources/test_data/pow.json
@@ -481,7 +481,7 @@
       }
     },
     {
-      "name": "pow (square) float32 4D base tensor and broadcastable 1D integer exponent tensor",
+      "name": "pow (square) float32 4D base tensor and broadcastable 0D integer exponent scalar",
       "inputs": {
         "a": {
           "shape": [2, 2, 2, 3],
@@ -514,7 +514,7 @@
           "type": "float32"
         },
         "b": {
-          "shape": [1],
+          "shape": [],
           "data": [2], // square
           "type": "float32",
           "constant": true
@@ -553,7 +553,7 @@
       }
     },
     {
-      "name": "pow (sqrt) float32 4D positive base tensor and broadcastable 1D integer exponent tensor",
+      "name": "pow (sqrt) float32 4D positive base tensor and broadcastable 0D integer exponent scalar",
       "inputs": {
         "a": {
           "shape": [2, 2, 2, 3],
@@ -586,7 +586,7 @@
           "type": "float32"
         },
         "b": {
-          "shape": [1],
+          "shape": [],
           "data": [0.5], // sqrt
           "type": "float32",
           "constant": true