[python] Remove dependency only used in testing (#26727)

* [python] Remove dependency only used in testing

PR #21567 added mobly as a default dependency of the Python Core CHIP
library. The mobly package is only used by the Python testing framework
in `src/python_testing/`. Allow to install extra dependency via
`script/build_python.sh` flag and install them only when needed.

* [python] remove now unnecessary dependency mobly

* Apply restyle changes
diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml
index 70c0fb9..f7aaebd 100644
--- a/.github/workflows/tests.yaml
+++ b/.github/workflows/tests.yaml
@@ -487,7 +487,7 @@
             - name: Build Python REPL and example apps
               timeout-minutes: 50
               run: |
-                  scripts/run_in_build_env.sh './scripts/build_python.sh --install_wheel build-env'
+                  scripts/run_in_build_env.sh './scripts/build_python.sh --install_wheel build-env --extra_packages "mobly"'
                   ./scripts/run_in_build_env.sh \
                    "./scripts/build/build_examples.py \
                       --target linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test \
diff --git a/scripts/build_python.sh b/scripts/build_python.sh
index 1af8036..3e360dd 100755
--- a/scripts/build_python.sh
+++ b/scripts/build_python.sh
@@ -63,6 +63,7 @@
                                                             no: Do not install
                                                             build-env: install to virtual env for build matter
                                                             separate: install to another virtual env (out/python_env)
+  --extra_packages PACKAGES                                 Install extra Python packages from PyPI
   --include_yamltests                                       Whether to install the matter_yamltests wheel.
   -z --pregen_dir DIRECTORY                                 Directory where generated zap files have been pre-generated.
 "
@@ -96,6 +97,10 @@
             install_wheel=$2
             shift
             ;;
+        --extra_packages)
+            extra_packages=$2
+            shift
+            ;;
         --include_yamltests)
             include_yamltests="yes"
             ;;
@@ -160,6 +165,10 @@
     )
 fi
 
+if [ -n "$extra_packages" ]; then
+    WHEEL+=("$extra_packages")
+fi
+
 if [ "$install_wheel" = "no" ]; then
     exit 0
 elif [ "$install_wheel" = "separate" ]; then
diff --git a/src/controller/python/BUILD.gn b/src/controller/python/BUILD.gn
index 102e9f3..07f2888 100644
--- a/src/controller/python/BUILD.gn
+++ b/src/controller/python/BUILD.gn
@@ -306,7 +306,6 @@
     "pyyaml",
     "ipdb",
     "deprecation",
-    "mobly",
     "cryptography",
     "ecdsa",
   ]
@@ -428,7 +427,6 @@
     "ipython!=8.1.0",
     "rich",
     "ipykernel",
-    "mobly",
   ]
 
   if (current_os == "mac") {