Camera2: Fire all callbacks

 - Allow configureOutputs to be called when device is
   actively working, and document what happens then.
 - At the managed level, trigger proper sequence of callbacks for
   device state changes, for all the callbacks that are not yet
   managed by the camera service.
 - Restructure CameraManager.openDevice to have the device itself fire the
   initial callbacks.
 - Make CameraDevice.configureOutputs(null) work.
 - Make CameraDeviec.configureOutputs(identical surfaces) work.
 - Ensure proper checking for camera closed state.

Bug: 10360518
Change-Id: I9db348ee9c5ce4d3fe02fd34e779acc85cba68dc
3 files changed