Support shared tensors
# What does this PR do?

- Fixes #23868

We can uniquely hash the storage by computing `data_ptr()` and `nbytes()` since storages are 1D contiguous buffers. We use that to find tensors that share the same storage. And if we do find them, we put those within the same "block" relying on underlying code to optimize serialization.

_The documentation is not available anymore as the PR was closed or merged._<|||||>Failing test seems unrelated?<|||||>Nice 🔥 <|||||>Seems like this requires the latest version of safetensors otherwise getting 
```python 
E   RuntimeError: Failed to import transformers.modeling_utils because of the following error (look up to see its traceback):
E   cannot import name 'storage_ptr' from 'safetensors.torch' (/opt/conda/envs/py39/lib/python3.9/site-packages/safetensors/torch.py)
```
should probably update the setup? <|||||>Yes @muellerzr made a PR: #23911 <|||||>Woops! Thank you @muellerzr !