Try again to fix leak of SkSL parser map when built standalone

The real problem was that we would create multiple instances in
standalone. The second instance would overwrite the pointer to the
first instance without freeing it. Just init once at startup.

Change-Id: I97b28a4b18413f055b413d4e0a47ae092c559e2b
Reviewed-on: https://skia-review.googlesource.com/148907
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/sksl/SkSLParser.cpp b/src/sksl/SkSLParser.cpp
index 86c0985..b8ceb5a 100644
--- a/src/sksl/SkSLParser.cpp
+++ b/src/sksl/SkSLParser.cpp
@@ -129,12 +129,8 @@
 , fTypes(types)
 , fErrors(errors) {
     fLexer.start(text, length);
-#ifdef SKSL_STANDALONE
-    InitLayoutMap();
-#else
-    static SkOnce once;
-    once([] { InitLayoutMap(); });
-#endif
+    static const bool layoutMapInitialized = []{ return (void)InitLayoutMap(), true; }();
+    (void) layoutMapInitialized;
 }
 
 /* (directive | section | declaration)* END_OF_FILE */