Update glslopt to support language targets

The glslopt_initialize interface changed from bool to glsl glslopt_target in
ce8cddf7e70f9caa18aaece8b9c8496e209e00aa

This broke glslopt like so:
```
Main.cpp:20:13: error: no matching function for call to 'glslopt_initialize'
        gContext = glslopt_initialize(false);
                   ^~~~~~~~~~~~~~~~~~
../../src/glsl/glsl_optimizer.h:45:14: note: candidate function not viable: no known conversion from 'bool' to
      'glslopt_target' for 1st argument
glslopt_ctx* glslopt_initialize (glslopt_target target);
```

This corrects that error and also introduces command-line options to
to choose the target language.
fix off-by-one in glslopt file save

glslopt was writing an extra byte (the NULL character)
to the output file.  Since GLSL files should be plain-text,
this could be a problem in some environments.
Merge https://github.com/aras-p/glsl-optimizer

Conflicts:
	contrib/glslopt/Main.cpp
Fix OSX build of glsl_test

Without this patch, OSX builds were failing at link, unable to find the OpenGL libraries:

{{{
Linking CXX executable glsl_test
Undefined symbols for architecture x86_64:
  "_CGLChoosePixelFormat", referenced from:
      _main in glsl_optimizer_tests.cpp.o
  "_CGLCreateContext", referenced from:
      _main in glsl_optimizer_tests.cpp.o
....
}}}
Merge pull request #53 from neomantra/master

Update contrib/glslopt to support language targets