drm_hwcomposer: Add z order support

Currently, the planner just pops the first available drm plane and if
that can't be used for the DrmHwcLayer it just returns error.

This proposes a slighlty smarter way to do that by trying to see if
any of the DrmPlane can be used for the DrmHwcLayer in question.

More, if the drm_plane doesn't have a fix zorder then we could re-add
him to the list of unused planes, so it could be used for hosting
other less demanding DrmHwcLayers.

Signed-off-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com>
diff --git a/drmproperty.cpp b/drmproperty.cpp
index dcab05e..9faa37e 100644
--- a/drmproperty.cpp
+++ b/drmproperty.cpp
@@ -100,6 +100,10 @@
   }
 }
 
+bool DrmProperty::immutable() const {
+  return id_ && (flags_ & DRM_MODE_PROP_IMMUTABLE);
+}
+
 std::tuple<uint64_t, int> DrmProperty::GetEnumValueWithName(
     std::string name) const {
   for (auto it : enums_) {