glcpp: Add support for lexing from a string.

The standalone binary still reads from stdin, however.
diff --git a/glcpp/glcpp-lex.l b/glcpp/glcpp-lex.l
index cc5f28f..f736ac4 100644
--- a/glcpp/glcpp-lex.l
+++ b/glcpp/glcpp-lex.l
@@ -201,3 +201,9 @@
 }
 
 %%
+
+void
+glcpp_lex_set_source_string(glcpp_parser_t *parser, const char *shader)
+{
+	yy_scan_string(shader, parser->scanner);
+}
diff --git a/glcpp/glcpp.h b/glcpp/glcpp.h
index ac103b7..0d43f0b 100644
--- a/glcpp/glcpp.h
+++ b/glcpp/glcpp.h
@@ -159,6 +159,9 @@
 int
 glcpp_lex_init_extra (glcpp_parser_t *parser, yyscan_t* scanner);
 
+void
+glcpp_lex_set_source_string(glcpp_parser_t *parser, const char *shader);
+
 int
 glcpp_lex (yyscan_t scanner);