audioflinger: Remove effect from hal before closing.

- For non pinned effects, when the handle is removed the effect interface
  is closed, but this leads to not resetting the state of hal effects.
  Don't close the interface from here, as it will be handled in
  subsequent removeEffect_l.

- Clean up code related to removeHandle_l.

CRs-Fixed: 2746289
Bug: 163285058
Test: Solo tester with effects
Change-Id: I2a9b35f5f73e535afd4fe77823b9a8ba16271685
diff --git a/services/audioflinger/Effects.h b/services/audioflinger/Effects.h
index 40bb226..901f93b 100644
--- a/services/audioflinger/Effects.h
+++ b/services/audioflinger/Effects.h
@@ -144,7 +144,7 @@
     status_t addHandle(EffectHandle *handle);
     ssize_t disconnectHandle(EffectHandle *handle, bool unpinIfLast);
     ssize_t removeHandle(EffectHandle *handle);
-    virtual ssize_t removeHandle_l(EffectHandle *handle);
+    ssize_t removeHandle_l(EffectHandle *handle);
     EffectHandle* controlHandle_l();
     bool purgeHandles();
 
@@ -240,8 +240,6 @@
         return mOutBuffer != 0 ? reinterpret_cast<int16_t*>(mOutBuffer->ptr()) : NULL;
     }
 
-    ssize_t removeHandle_l(EffectHandle *handle) override;
-
     status_t         setDevices(const AudioDeviceTypeAddrVector &devices);
     status_t         setInputDevice(const AudioDeviceTypeAddr &device);
     status_t         setVolume(uint32_t *left, uint32_t *right, bool controller);