Fix bindless texture shader.

Bindless textures declared as uniforms in the default block must use the "layout (bindless_sampler)" qualifier. Failure to do so causes them to be considered "bound" textures, and will produce errors if an attempt to use glUniformHandle* to set them is made.

Correct GL implementations should generate this error. Only incorrect implementations of GL_ARB_bindless_texture would allow glUniformHandle on a sampler declared without the bindless layout qualifier.
Make core profile work.

Although the test framework supports creation of a core profile context, it nevertheless attempts to execute code requiring legacy features only present in the compatibility profile. These fall into two main categories:

* None of the tests use a vertex array object. For the most part, I've fixed this by just creating and binding a VAO and then leaving it bound for the lifetime of the test. This is not the intended use case and indeed, the tests could be optimized by hoisting vertex definition into the initialization procedure and then only binding the VAO before the draw. That is not the point of these tests though.

* Some of the tests use client data directly. These are some of the MDI tests attempt to use MultiDraw*Indirect sourcing data from client memory, which defeats the point of the API and is illegal in core profiles. Rather than fix the test, I added a flag to IsOpenGL to indicate whether a compatibility profile is needed and modified the test to require a compatibility profile to run. I will add a fixed version of the test that uses a buffer for indirect draws in a follow-on change.