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.
Add missing .cpp files to glsl_optimizer_lib.gyp
Only link shader if kGlslOptionNotFullShader is not present
Fix glsl_test for non-Apple platforms
Support EXT_draw_buffers for MRT on ES2.0
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
Merge pull request #68 from aparshin/fix-build

Fix npm build
Merge pull request #71 from bullno1/not-full-shader

Only link shader if kGlslOptionNotFullShader is not present
Merge pull request #72 from bullno1/fix-glsl_test

Fix glsl_test for non-Apple platforms
Merge remote-tracking branch 'upstream/master'