Using structs with unary operators

Per section 5.7 of the GLSL ES spec, the only operators allowed on structs are field selector, equality and assignment. No unary operators are allowed.
This test verifies unary operators used on structures are disallowed.

Shader is of the form:
precision mediump float;
struct S { $(type) t; };
void main() {
    S a;
    a.t = $(initializer);
    S b = $(operator)a;   // Unary operators not allowed
    gl_FragColor = $(fragColor);
}
bindAttribLocation with aliasing

This test verifies combinations of valid, active attribute types cannot be bound to
the same location with bindAttribLocation.

Per the OpenGL spec: It is possible for an application to bind more than one attribute
name to the same location. This is referred to as aliasing. This will only work if
only one of the aliased attributes is active in the executable program, or if no path
through the shader consumes more than one attribute of a set of attributes aliased to
the same location.

vertex shaders take the form:
precision mediump float;
attribute $(type_1) a_1;
attribute $(type_2) a_2;
void main() {
    gl_Position = $(gl_Position_1) + $(gl_Position_2);
}
Merge pull request #715 from RafaelCintron/attributeAliasing

bindAttribLocation with aliasing
Improve WebGL info page

This patch removes reliance on the old webgl-utils script, improves
formatting and organization and adds information which requires a bit
more digging than simply querying with getParameter. New information
includes:

-Supported shader precision
-Supported framebuffer texture attachment formats
Merge pull request #716 from NVIDIA/webgl-info-improvement

Improve WebGL info page
Remove the unused extra gl param to waitForCompositor
Fix comments
Clean up code to use wtu.checkCanvas*()
Merge pull request #718 from zhenyao/rendering

Clean up code to use wtu.checkCanvas*()
Clean up tests: use wtu whenever appropriate.
Merge pull request #719 from zhenyao/clean

Clean up tests: use wtu whenever appropriate.
More cleanup: use wtf functions when possible.
Merge pull request #720 from zhenyao/clean

More cleanup: use wtf functions when possible.
Merge pull request #717 from zhenyao/wait

Remove the unused extra gl param to waitForCompositor
Address feedback from @zhenyao

- Fix misspelling: uary --> unary
- Add tests for ++ and -- unary operators.
Add a note to the spec about waitSync effectively being a no-op

Removing the function from the API still seems unwarranted, since
implementing it does not cost much and it would have to be reintroduced
in case WebGL ever starts to allow synchronization between multiple
contexts.
Improve preprocessor directive testing

Add a test which tests including whitespace characters around # in
preprocessor directives.

Clean up glsl tests to remove unnecessary #if defined(GL_ES) directives
and unnecessary script includes. The GL_ES macro is covered by
glsl/misc/shader-with-gles-* tests.
Merge pull request #714 from RafaelCintron/structUnaryOperators

Using structs with unary operators
Merge pull request #721 from NVIDIA/waitSync

Add a note to the spec about waitSync effectively being a no-op
Merge pull request #722 from NVIDIA/add-glsl-preprocessor-tests

Improve preprocessor directive testing