support persistent worker for aar extractors

This PR supports persistent worker for Android aar extractors, it'll significantly improve the aar extractors performance especially in the first time compilation without cache.
It's not enable by default, can use flag `build --experimental_persistent_aar_extractor=true` to enable it.

using worker:
![image](https://github.com/bazelbuild/bazel/assets/10076965/804f8167-4a52-4321-ba4a-9d1f1dd57644)
not using worker:
![image](https://github.com/bazelbuild/bazel/assets/10076965/26ef4047-4ff7-45f3-9767-ce48418aa089)

Closes #18496.

PiperOrigin-RevId: 557923249
Change-Id: Ica6b6e0a6e3f1dcb68bb9aba941d538888ca013d
diff --git a/tools/android/aar_native_libs_zip_creator.py b/tools/android/aar_native_libs_zip_creator.py
index 7950df9..6f6306e 100644
--- a/tools/android/aar_native_libs_zip_creator.py
+++ b/tools/android/aar_native_libs_zip_creator.py
@@ -29,6 +29,7 @@
 from absl import app
 from absl import flags
 
+from tools.android import json_worker_wrapper
 from tools.android import junction
 
 FLAGS = flags.FLAGS
@@ -104,5 +105,4 @@
 
 
 if __name__ == "__main__":
-  FLAGS(sys.argv)
-  app.run(main)
+  json_worker_wrapper.wrap_worker(FLAGS, main, app.run)