Test assigning FragData[0] and FragColor in the same shader

This should fail compilation or link according to GLES 2.
Improvements to WEBGL_draw_buffers extension test

Clarifications, tighter checks for parameters (according to the WebGL
extension spec, MAX_COLOR_ATTACHMENTS_WEBGL should be at least 4 and at
least the same as MAX_DRAW_BUFFERS_WEBGL) and a typo fix.
Make MAX_DRAW_BUFFERS and MAX_COLOR_ATTACHMENTS equal

There's no benefit from having more color attachments than draw buffers,
or vice versa, since the highest-numbered color attachment that is
accessible for rendering is COLOR_ATTACHMENT<min(MAX_DRAW_BUFFERS,
MAX_COLOR_ATTACHMENTS) - 1>. This clarifies the API, like a similar
addition in the WEBGL_draw_buffers spec.
Small fix to WEBGL_draw_buffers extension test

A short array of attachments is allowed, there was partial code for
checking this which will work after this commit.
Clarification to draw buffers test explanation

Technically, draw buffer state does change when FB binding changes, but
the contents of the attachments (which they may share) stay the same.
This small issue caused a lot of head-scratching...
Merge pull request #618 from NVIDIA/webgl2-max-draw-buffers

Make MAX_DRAW_BUFFERS and MAX_COLOR_ATTACHMENTS equal
Merge pull request #617 from NVIDIA/max-draw-buffers-check

Improvements to WEBGL_draw_buffers extension test
Merge pull request #616 from NVIDIA/fragdata-fragcolor-test

Test assigning FragData[0] and FragColor in the same shader