Port to OpenGL ES 2.0 + OES_vertex_array_object

See commit messages for details. I decided to keep both desktop GL and GL ES version in one file as most of the code can be shared, but you might decide that it is better to have it as separate file/branch/whatever.

While I created separate GLSL files for ES to keep things clean, I did some portability modifications to the original files to have the difference as small as possible. The GLSL files could also be shared with some ugly preprocessor magic, but I don't think that's worth it, this is more readable.

The compilation for GL ES can be toggled using `TARGET_GLES` CMake option. I made the changes only to CMake build system, sorry, I'm no expert in makefiles :-)

This should compile fine with the `glfw3-es` template from mosra/flextgl@459945db6b89ebe1c07544dc49f6159db5dca673. I kept the profile switch as `es2`, you might want to change it to `es` later when you do the change in flextGL itself.