text: Title: [ENH] deduplicate `polars` and `gluonts` check logic in `datatypes` module
  Body: Logic related to checking and conversion of `polars` and `gluonts` data types seems to be scattered across the `datatypes` module. This is also highly duplicative.
  
  Optimally, the logic gets moved and deduplicated inside `datatypes._adapter.gluonts` or `polars`.
  
  Contributors should branch off https://github.com/sktime/sktime/pull/7161 if it is not yet merged, to avoid clashes with the ongoing refactor.