Revert "Revert "New implementation of llvm-rs-cc (replacement of slang_driver).""

This reverts commit a6d60672695f1438a63acdbf85eae7f97ce2b50d.
diff --git a/slang_rs_reflection.h b/slang_rs_reflection.h
index c4750dc..adc868c 100644
--- a/slang_rs_reflection.h
+++ b/slang_rs_reflection.h
@@ -33,7 +33,7 @@
 
     bool mVerbose;
 
-    std::string mOutputPath;
+    std::string mOutputPathBase;
 
     std::string mInputRSFile;
 
@@ -82,13 +82,13 @@
 
     static const char *AccessModifierStr(AccessModifier AM);
 
-    Context(const std::string &OutputPath,
+    Context(const std::string &OutputPathBase,
             const std::string &InputRSFile,
             const std::string &PackageName,
             const std::string &ResourceId,
             bool UseStdout)
         : mVerbose(true),
-          mOutputPath(OutputPath),
+          mOutputPathBase(OutputPathBase),
           mInputRSFile(InputRSFile),
           mPackageName(PackageName),
           mResourceId(ResourceId),
@@ -260,7 +260,8 @@
     return;
   }
 
-  bool reflect(const char *OutputPackageName,
+  bool reflect(const std::string &OutputPathBase,
+               const std::string &OutputPackageName,
                const std::string &InputFileName,
                const std::string &OutputBCFileName);