drm_hwcomposer: Move CreateModeBlob to DrmMode class

CreateModeBlob doesn't architecturally belongs to DrmDisplayCompositor.
+ align DrmMode internal types with libdrm types to avoid compilation errors.

Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
diff --git a/compositor/DrmDisplayCompositor.cpp b/compositor/DrmDisplayCompositor.cpp
index 9d3e56d..bb6a33b 100644
--- a/compositor/DrmDisplayCompositor.cpp
+++ b/compositor/DrmDisplayCompositor.cpp
@@ -205,16 +205,6 @@
   return ret;
 }
 
-auto DrmDisplayCompositor::CreateModeBlob(const DrmMode &mode)
-    -> DrmModeUserPropertyBlobUnique {
-  struct drm_mode_modeinfo drm_mode {};
-  mode.ToDrmModeModeInfo(&drm_mode);
-
-  DrmDevice *drm = resource_manager_->GetDrmDevice(display_);
-  return drm->RegisterUserPropertyBlob(&drm_mode,
-                                       sizeof(struct drm_mode_modeinfo));
-}
-
 void DrmDisplayCompositor::ClearDisplay() {
   if (!active_composition_)
     return;
@@ -250,7 +240,7 @@
 
 auto DrmDisplayCompositor::SetDisplayMode(const DrmMode &display_mode) -> bool {
   mode_.mode = display_mode;
-  mode_.blob = CreateModeBlob(mode_.mode);
+  mode_.blob = mode_.mode.CreateModeBlob(*resource_manager_->GetDrmDevice(display_));
   return !!mode_.blob;
 }
 
diff --git a/compositor/DrmDisplayCompositor.h b/compositor/DrmDisplayCompositor.h
index 17dc701..434668f 100644
--- a/compositor/DrmDisplayCompositor.h
+++ b/compositor/DrmDisplayCompositor.h
@@ -70,8 +70,6 @@
   int CommitFrame(DrmDisplayComposition *display_comp, bool test_only);
   int DisablePlanes(DrmDisplayComposition *display_comp);
 
-  auto CreateModeBlob(const DrmMode &mode) -> DrmModeUserPropertyBlobUnique;
-
   ResourceManager *resource_manager_;
   int display_;