intel: make intel_base_dbg_create() more useful

Allow the allocation size to be specified for intel_base_dbg_create().  This
makes it reusable for creating intel_base_dbg subclasses.

intel_base_dbg_init() and intel_base_dbg_cleanup() are removed.
diff --git a/icd/intel/dev.c b/icd/intel/dev.c
index ea461f4..c8f6871 100644
--- a/icd/intel/dev.c
+++ b/icd/intel/dev.c
@@ -30,21 +30,9 @@
 
 static struct intel_dev_dbg *dev_dbg_create(const XGL_DEVICE_CREATE_INFO *info)
 {
-    struct intel_dev_dbg *dbg;
-
-    dbg = icd_alloc(sizeof(*dbg), 0, XGL_SYSTEM_ALLOC_DEBUG);
-    if (!dbg)
-        return NULL;
-
-    memset(dbg, 0, sizeof(*dbg));
-
-    if (!intel_base_dbg_init(&dbg->base, XGL_DBG_OBJECT_DEVICE,
-            info, sizeof(*info))) {
-        icd_free(dbg);
-        return NULL;
-    }
-
-    return dbg;
+    return (struct intel_dev_dbg *)
+        intel_base_dbg_create(XGL_DBG_OBJECT_DEVICE, info, sizeof(*info),
+                sizeof(struct intel_dev_dbg));
 }
 
 static void dev_dbg_destroy(struct intel_dev_dbg *dbg)
@@ -58,8 +46,7 @@
         filter = next;
     }
 
-    intel_base_dbg_cleanup(&dbg->base);
-    icd_free(dbg);
+    intel_base_dbg_destroy(&dbg->base);
 }
 
 static XGL_RESULT dev_create_queues(struct intel_dev *dev,