[pixeldata] fix reading of 16bit samples
[pixeldata] fix reading of 16bit samples

- add data_ow() method
- refactor 16-bit sample retrieval logic using helper function
- when using to_vec or to_ndarray
  and if bits allocated is 16,
  read each sample as 2 bytes
- apply normalization if
  VOI LUT option is `First` and window levels were not found
- fix hardcoded numbers in LUT construction
   - should be bits_stored instead of 8
   - signed should be set correctly
- tweak errors to be more informative
   - always raise `CreateLut`
     when the problem was raised on LUT creation
- add more tests

Enet4/dicom-rs,Enet4/dicom-rs