Fix standalone SkSL build after adding SkOnce to SkSLByteCode

Also trim includes in SkSLCompiler while I'm there

Change-Id: I87b27199b84e5e856e0a914f44368313a6f226e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/242085
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/include/private/SkOnce.h b/include/private/SkOnce.h
index 690efec..662bffb 100644
--- a/include/private/SkOnce.h
+++ b/include/private/SkOnce.h
@@ -10,7 +10,6 @@
 
 #include <atomic>
 #include <utility>
-#include "include/core/SkTypes.h"
 
 // SkOnce provides call-once guarantees for Skia, much like std::once_flag/std::call_once().
 //
diff --git a/src/sksl/SkSLCompiler.h b/src/sksl/SkSLCompiler.h
index eaaf50c..023f99b 100644
--- a/src/sksl/SkSLCompiler.h
+++ b/src/sksl/SkSLCompiler.h
@@ -11,7 +11,6 @@
 #include <set>
 #include <unordered_set>
 #include <vector>
-#include "src/sksl/SkSLByteCode.h"
 #include "src/sksl/SkSLCFGGenerator.h"
 #include "src/sksl/SkSLContext.h"
 #include "src/sksl/SkSLErrorReporter.h"
@@ -41,6 +40,8 @@
 
 namespace SkSL {
 
+struct ByteCode;
+class ExternalValue;
 class IRGenerator;
 
 /**