<!--

Welcome to Apache Airflow!  For a smooth issue process, try to answer the following questions.
Don't worry if they're not all applicable; just try to include what you can :-)

If you need to include code snippets or logs, please put them in fenced code
blocks.  If they're super-long, please use the details tag like
<details><summary>super-long log</summary> lots of stuff </details>

Please delete these comment blocks before submitting the issue.

-->

**Description**

In Spark Kubernetes operator we have hard-coded API group and version for spark application k8s object:
https://github.com/apache/airflow/blob/b23a4cd6631ba3346787b285a7bdafd5e71b43b0/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py#L63-L65
I think it is not good, because we can have situation that some custom or not opensource Spark k8s operators can have different API group and version (like `sparkoperator.mydomain.com` instead of `sparkoperator.k8s.io`). 
<!-- A short description of your feature -->

**Use case / motivation**

User have got installed custom or commercial Spark Kubernetes operator and he wants to launch DAG with `SprkKubernetesOperator` from providers. User cannot do that without this implemented feature.

<!-- What do you want to happen?

Rather than telling us how you might implement this solution, try to take a
step back and describe what you are trying to achieve.

-->

**Are you willing to submit a PR?**

Yes
<!--- We accept contributions! -->

**Related Issues**

No
<!-- Is there currently another issue associated with this? -->

tests/providers/cncf/kubernetes/sensors/test_spark_kubernetes.py
"mainClass": "org.apache.spark.examples.SparkPi123",
        "mode": "cluster",
        "monitoring": {
            "exposeDriverMetrics": True,
            "exposeExecutorMetrics": True,
            "prometheus": {
                "jmxExporterJar": "/prometheus/jmx_prometheus_javaagent-0.11.0.jar",
                "port": 8090,
            },
        },
        "restartPolicy": {"type": "Never"},
        "sparkVersion": "2.4.4",
        "type": "Scala",
    },
    "status": {
        "applicationState": {
            "errorMessage": "driver pod failed with ExitCode: 101, Reason: Error",
            "state": "FAILED",
        },
        "driverInfo": {
            "podName": "spark-pi-driver",
            "webUIAddress": "10.108.18.168:4040",
            "webUIPort": 4040,
            "webUIServiceName": "spark-pi-ui-svc",
        },
        "executionAttempts": 1,
        "lastSubmissionAttemptTime": "2020-02-26T11:59:38Z",
        "sparkApplicationId": "spark-5fb7445d988f434cbe1e86166a0c038a",
        "submissionAttempts": 1,
        "submissionID": "26654a75-5bf6-4618-b191-0340280d2d3d",