Ternary Operators in Global Initializers

Add a test to verify that ternary operators can be used in global initializers.

Fragment shaders are of the form:
  precision mediump float;
  $(type) green = $(green);
  $(type) black = $(black);
  $(type) var = (true) ? green : black;
  void main() {
      gl_FragColor = $(asVec4);
  }

In order to pass, program should successfully link and output green.