### 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.
if not os.path.isdir(arg):
            parser.error(f"The directory '{arg}' does not exist!")
        return arg
def positive_int(*, allow_zero):
    """Define a positive int type for an argument."""
    def _check(value):
        try:
            value = int(value)
            if allow_zero and value == 0:
                return value
            if value > 0:
                return value
        except ValueError:
            pass
        raise argparse.ArgumentTypeError(f"invalid positive int value: '{value}'")
    return _check
def string_list_type(val):
    """Parses comma-separated list and returns list of string (strips whitespace)."""
    return [x.strip() for x in val.split(",")]
def string_lower_type(val):
    """Lowers arg."""
    if not val:
        return
    return val.strip().lower()
ARG_DAG_ID = Arg(("dag_id",), help="The id of the dag")
ARG_TASK_ID = Arg(("task_id",), help="The id of the task")
ARG_EXECUTION_DATE = Arg(("execution_date",), help="The execution date of the DAG", type=parsedate)
ARG_EXECUTION_DATE_OPTIONAL = Arg(
    ("execution_date",), nargs="?", help="The execution date of the DAG (optional)", type=parsedate
)