Clean up BuiltInFunctionEmulator public interface

This removes all language-specific bits from BuiltInFunctionEmulator
parent class, and makes the public interface of BuiltInFunctionEmulator
minimal.

Writing comments around emulated function definitions is removed from
OutputHLSL, they are not necessary as the emulated function definitions
are just another part of the shader header.

Change-Id: I9abf57d86f4e37b0674d7dfafe653298f205dd27
Reviewed-on: https://chromium-review.googlesource.com/240230
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/OutputHLSL.cpp b/src/compiler/translator/OutputHLSL.cpp
index 56ceb20..2af8c4e 100644
--- a/src/compiler/translator/OutputHLSL.cpp
+++ b/src/compiler/translator/OutputHLSL.cpp
@@ -1203,7 +1203,7 @@
                "\n";
     }
 
-    builtInFunctionEmulator->OutputEmulatedFunctionDefinition(out, false);
+    builtInFunctionEmulator->OutputEmulatedFunctionDefinition(out);
 }
 
 void OutputHLSL::visitSymbol(TIntermSymbol *node)