drm_hwcomposer: Rework VSyncWorker to work without utils/worker

utils/worker just complicates the logic without providing any benefit.

Change-Id: I7b3c91aee9c0507d9ca35792d24ba6c8c3870033
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
diff --git a/hwc2_device/HwcDisplay.h b/hwc2_device/HwcDisplay.h
index 0334470..68353e9 100644
--- a/hwc2_device/HwcDisplay.h
+++ b/hwc2_device/HwcDisplay.h
@@ -18,6 +18,7 @@
 
 #include <hardware/hwcomposer2.h>
 
+#include <atomic>
 #include <optional>
 
 #include "HwcDisplayConfigs.h"
@@ -208,7 +209,7 @@
 
   std::unique_ptr<Backend> backend_;
 
-  VSyncWorker vsync_worker_;
+  std::shared_ptr<VSyncWorker> vsync_worker_;
   bool vsync_event_en_{};
   bool vsync_flattening_en_{};
   bool vsync_tracking_en_{};