SF: Fix leak in unit tests

Remove the sp<SurfaceFlinger> cycle in WindowInfosListenerInvoker, such
that TestableSurfaceFlinger can delete its SurfaceFlinger instance.

Also, remove the indirection for the windowInfosReported callback.

Bug: 213688734
Test: No spam/aborts regarding leaks.
Change-Id: I50450881e8a37ff64dab12bf6afe02711cdd93b7
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index b8902a4..52b5761 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -385,7 +385,7 @@
         mInternalDisplayDensity(getDensityFromProperty("ro.sf.lcd_density", true)),
         mEmulatedDisplayDensity(getDensityFromProperty("qemu.sf.lcd_density", false)),
         mPowerAdvisor(*this),
-        mWindowInfosListenerInvoker(new WindowInfosListenerInvoker(this)) {
+        mWindowInfosListenerInvoker(sp<WindowInfosListenerInvoker>::make(*this)) {
     ALOGI("Using HWComposer service: %s", mHwcServiceName.c_str());
 }