BUG: avoid relying on external packaging package in interchange protocol
I noticed this by accident, and we have a vendored version of `packaging` that we otherwise use internally. 

(this might be a good case to add a code check for? cc @MarcoGorelli)
Thanks @jorisvandenbossche 

> (this might be a good case to add a code check for? cc @MarcoGorelli)

can always raise an issue for this.

> we have a vendored version of packaging that we otherwise use internally.

xref #41207, do we have an open issue to potentially remove this in the future? @jorisvandenbossche which are the packages which pandas vendors? Just `version` and `clipboard`? I am not directly aware of others (except for some C code). And probably `packaging.version` is the main relevant one, as `clipboard` / `pyperclip` might not be that common to use in normal code outside of the clipboard IO code