Remove CameraX singleton API usage from ProcessCameraProvider

- ProcessCameraProvider directly calls CameraX constructor to create a new CameraX instance. ProcessCameraProvider retrieves the initialize and shutdown ListenableFuture objects from the created CameraX instance. ProcessCameraProvider manages to only create one CameraX instance between its getInstance() and shutdown() calls.
- Specify to use the camera2 module of version VIEW_ATOMIC_GROUP_PINNED_VER to avoid the presubmit failure which the default CameraXConfig.Privoder implementation can't be found.

Bug: 162012861
Test: ./gradlew bOS
Change-Id: I197a6e291b8ab63c9407e9f24c5217aa2a7250af
diff --git a/camera/camera-lifecycle/build.gradle b/camera/camera-lifecycle/build.gradle
index 2b934a8..cf970d9 100644
--- a/camera/camera-lifecycle/build.gradle
+++ b/camera/camera-lifecycle/build.gradle
@@ -30,6 +30,7 @@
     api(project(":camera:camera-core"))
     implementation("androidx.core:core:1.1.0")
     implementation(libs.autoValueAnnotations)
+    implementation("androidx.concurrent:concurrent-futures:1.0.0")
 
     annotationProcessor(libs.autoValue)