### Body

Folowing up after https://github.com/apache/airflow/pull/22613#issuecomment-1374530689 - seems that there is a new [rich-argparse](https://github.com/hamdanal/rich-argparse) project that might give us the option without rewriting Airflow's argument parsing to click (click has a number of possible performance issues that might impact airlfow's speed of CLI command parsing) 

Seems this might be rather easy thing to do (just adding the formatter class for argparse).

Would be nice if someone implements it and tests (also for performance of CLI).

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
self,
        flags=_UNSET,
        help=_UNSET,
        action=_UNSET,
        default=_UNSET,
        nargs=_UNSET,
        type=_UNSET,
        choices=_UNSET,
        required=_UNSET,
        metavar=_UNSET,
        dest=_UNSET,
    ):
        self.flags = flags
        self.kwargs = {}
        for k, v in locals().items():
            if v is _UNSET:
                continue
            if k in ("self", "flags"):
                continue
            self.kwargs[k] = v
    def add_to_parser(self, parser: argparse.ArgumentParser):
        """Add this argument to an ArgumentParser."""
        if "metavar" in self.kwargs and "type" not in self.kwargs:
            if self.kwargs["metavar"] == "DIRPATH":
                type = lambda x: self._is_valid_directory(parser, x)
                self.kwargs["type"] = type
        parser.add_argument(*self.flags, **self.kwargs)
    def _is_valid_directory(self, parser, arg):