loader: Make use of app provided allocation callbacks

Convert all heap allocs/frees to use loader_heap_alloc() or loader_heap_free().
Before CreateInstance this will use malloc/free. At (and after) CreateInstance
alloc callbacks are stored and used for any allocations.

Exceptions are thirdparty code (cJSON  and dirent_on_windows) still always use
malloc/free. Plan to address these in later patch if ti makes sense.
diff --git a/loader/debug_report.h b/loader/debug_report.h
index 52cd170..a04386a 100644
--- a/loader/debug_report.h
+++ b/loader/debug_report.h
@@ -91,6 +91,7 @@
      */
 
 void debug_report_add_instance_extensions(
+        const struct loader_instance *inst,
         struct loader_extension_list *ext_list);
 
 void debug_report_create_instance(