Clear callbacks when destroying DvrHwcClient

When a DvrHwcClient is destroyed, the VrComposer retains a reference to its
observer. Because registerObserver returns a non-OK status if an observer
is already registered, this was causing subsequent DvrHwcClients to not be
created.

This was an issue with the CompatibilityUiOverlay app on standalone
headsets. CompatibilityUiOverlay was destroying its DvrHwcClient when turning
the screen off, but upon turning the screen back on, CompatibilityUiOverlay
was unable to create another DvrHwcClient.

Bug: 63139142
Test: Turn the screen off/on for a standalone headset, observe
CompatibilityUiOverlay running.

Change-Id: Ie45e961d2bf977ab9a661e23c558354d3a96ae20
4 files changed