Properly recover vr_wm from surface vr_flinger crashes.
This is addressing a number of issues:
1) surface_flinger_view_ was incorrectly reset
on de-allocation, which renders vr_wm incapable of seeing
new frames after a crash.
2) dvrGraphicsWaitNextFrame will return -1 if vr_flinger
crashes, which means our graphics context is no longer valid.
We need to de-allocate resources and wait for SF to
reconnect.
3) Displays needed be be de-allocated on SF detach because
they will return incorrect fences on SF re-connect.
4) display_client_ needs to be allocated on demand instead
of at initialization time because vr_flinger crash
invalidates it.
Bug:
36589793
Test: Crash vr_flinger, observe vr_wm working after SF restarts.
Change-Id: I72a79690ee5224e3326c7c571ae4e23797103e6d