drm_hwcomposer: polish for old DRM wrapper code

- deleted private copy constructors
- replace delete with unique_ptr
- use in-class assignment
- remove default constructors/destructors when no longer needed
- remove most iterators used in for loops
- move UniqueFd to its own header so drmresources can use it

Change-Id: Ib20cc0949cf4d381a58548b8156c5cb368ca3efe
diff --git a/drmproperty.h b/drmproperty.h
index 96e8c20..648eda7 100644
--- a/drmproperty.h
+++ b/drmproperty.h
@@ -34,9 +34,10 @@
 
 class DrmProperty {
  public:
+  DrmProperty() = default;
   DrmProperty(drmModePropertyPtr p, uint64_t value);
-  DrmProperty();
-  ~DrmProperty();
+  DrmProperty(const DrmProperty &) = delete;
+  DrmProperty &operator=(const DrmProperty &) = delete;
 
   void Init(drmModePropertyPtr p, uint64_t value);
 
@@ -55,14 +56,12 @@
     std::string name_;
   };
 
-  DrmProperty(const DrmProperty &);
+  uint32_t id_ = 0;
 
-  uint32_t id_;
-
-  DrmPropertyType type_;
-  uint32_t flags_;
+  DrmPropertyType type_ = DRM_PROPERTY_TYPE_INVALID;
+  uint32_t flags_ = 0;
   std::string name_;
-  uint64_t value_;
+  uint64_t value_ = 0;
 
   std::vector<uint64_t> values_;
   std::vector<DrmPropertyEnum> enums_;