[Node.js] Fix float16 tensor input support (#27327)
Accept both Uint16Array and Float16Array for float16 tensors in the
Node.js binding. Float16Array is a newer JavaScript type (ES2024) that
N-API supports as napi_float16_array (type 11) in Node.js 23+.
For older Node.js versions, define napi_float16_array to ensure
compatibility when users pass Float16Array data.
## Summary
Fixes #26791 - Users cannot pass float16 input tensors from JavaScript.
**Changes:**
- Define `napi_float16_array` for older Node.js versions (added in
Node.js 23/N-API v10)
- Accept both `Uint16Array` and `Float16Array` for float16 tensors in
validation
**Root cause:** The validation in `tensor_helper.cc` only accepted
`Uint16Array` for float16
tensors, rejecting the newer `Float16Array` type.
## Test Plan
- [ ] Test with `Uint16Array` for float16 tensors (all Node.js versions)
- [ ] Test with `Float16Array` for float16 tensors (Node.js 22+)
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>