Camera: Refactor API for session configration query

- Modify OutputConfiguration class so that it can be created without
  output surfaces for SurfaceView, SurfaceTexture, MediaRecorder,
  MediaCodec, and ImageReader. This makes it possible to do feature
  combination query with minimum latency. The application can then call
  OutputConfiguration#addSurface before creating capture session.
- Enhance SessionConfiguration class for CameraDeviceSetup operations.

Test: atest CtsCameraTestCases
Bug: 298033056
Bug: 309627704
Change-Id: Ic943c225d07f1553efe22b7125642673d659c2a2
7 files changed