Revert "Revert "drm_hwcomposer: remove compositor interface""

This reverts commit 1c5e55680d9165d8f9bb2bc6e2c4261574b5d41d.
diff --git a/drmcompositor.cpp b/drmcompositor.cpp
index 3bab93f..082e75d 100644
--- a/drmcompositor.cpp
+++ b/drmcompositor.cpp
@@ -47,7 +47,7 @@
   return 0;
 }
 
-Composition *DrmCompositor::CreateComposition(Importer *importer) {
+DrmComposition *DrmCompositor::CreateComposition(Importer *importer) {
   DrmComposition *composition = new DrmComposition(drm_, importer);
   if (!composition) {
     ALOGE("Failed to allocate drm composition");
@@ -62,10 +62,8 @@
   return composition;
 }
 
-int DrmCompositor::QueueComposition(Composition *composition) {
-  DrmComposition *drm_composition = (DrmComposition *)composition;
-
-  int ret = drm_composition->DisableUnusedPlanes();
+int DrmCompositor::QueueComposition(DrmComposition *composition) {
+  int ret = composition->DisableUnusedPlanes();
   if (ret) {
     ALOGE("Failed to disable unused planes %d", ret);
     return ret;
@@ -75,7 +73,7 @@
        iter != drm_->end_connectors(); ++iter) {
     int display = (*iter)->display();
     int ret = compositor_map_[display].QueueComposition(
-        drm_composition->TakeDisplayComposition(display));
+        composition->TakeDisplayComposition(display));
     if (ret) {
       ALOGE("Failed to queue composition for display %d", display);
       delete composition;