Camera/Surface: Update OutputConfiguration API

- Rename "surface set ID" to "surface group ID"
- Remove setSurfaceSetId
- Use constructor overloads to set surface group ID, make
  OutputConfiguration immutable
- Add Surface.getConsumerDescriptor to make it possible to verify
  if two Surfaces have the same backing consumer
- Cache initial surface generation ID in OutputConfiguration so that
  changes in a Surface's internals will label it is as a
  new output
- Add sample use case for surface group IDs

Bug: 27950763
Bug: 28076469
Change-Id: I13251d1dd3d26a978ffbedc519966524e93bc61c
5 files changed