Fix resource leak in VirtioGpuTimelines

Remove the entry in mTaskIdToTask when a Task is destroyed.

Test: run the emulator
Change-Id: I936ee8796e7bae6d0f87ceb6478753fb4b70f3c7
diff --git a/stream-servers/VirtioGpuTimelines.cpp b/stream-servers/VirtioGpuTimelines.cpp
index 8ba729f..c4664d4 100644
--- a/stream-servers/VirtioGpuTimelines.cpp
+++ b/stream-servers/VirtioGpuTimelines.cpp
@@ -34,7 +34,10 @@
     AutoLock lock(mLock);
 
     TaskId id = mNextId++;
-    auto task = std::make_shared<Task>(id, ctxId);
+    std::shared_ptr<Task> task(new Task(id, ctxId), [this](Task *task) {
+        mTaskIdToTask.erase(task->mId);
+        delete task;
+    });
     mTaskIdToTask[id] = task;
     mTimelineQueues[ctxId].emplace_back(std::move(task));
     return id;