SurfaceControl: Bind close-guard lifetime to native-object lifetime.

Currently there are two bugs in the close-guard behavior:
Bug 1:
   a. Create surface control from parcel, close guard opens
   b. Import new parcel, last object release close guard closed
   c. Close guard not reopened, now we have a resource but no close guard
Bug 2:
   a. Construct "new SurfaceControl()" but don't do anything with it
   b. Now we have a close guard but no native resources

This CL ensures the state of the close guard matches the ownership of
native resources.

Bug: 150128124
Test: Existing tests pass
Change-Id: I0155854213ac64be3ac9a5d264815dbd43018fca
1 file changed