Replace end_config with 'end config' in glsl parser tests

The example glsl parser test doesn't list end_config as acceptable, and
there are only 5 tests using end_config, so it makes sense to just fix
those tests rather than generating slower more complicated regex for
handling end_config.
glsl_parser_test.py: Remove standalone functionality.

This removes the standalone run functionality from glsl_parser_test.
Like shader_test this probably made sense as a development option, but
at this point it's just dead code.
glsl_parser_test.py: Replace GLSLParserTest with function

This is a rough 'port' of the class to a function. It deviates only to
make idiomatic changes and to remove references to self. With a few
exceptions. The class always returned a result when something went
wrong, this function raises an exception. Some of these cases can
probably be better handled, but returning a result seems like the wrong
decision, these should either be handled or excepted.
glsl_parser_test.py: Vastly simplify the way the config is parsed

This reduces the complexity of the code that searches for config section
and writes it into a StringIO. The new code just looks for a comment
followed by [config] to open the section and a comment followed by [end
config] to close it. It naively slurps up everything in between.
Adds some tests for glsl_parser_tests.py