Yet another OpenGL dynamic linking solution

A Python script that downloads OpenGL headers and generates headers and
source files for dynamically linking to OpenGL extensions at runtime.
EGL build and warning fix, WGL build fix

Add EGL target to build system. Fix WGL target and source names.

Fix a warning in EGL code.
Add --no-platform command line option

Do not download *platform.h header files when --no-platform command line
option is given.

This is required on platforms like Android, where the platform header
files contain definitions that are specific to that platform and that
are not a part of the official Khronos header files.
WGL fixes
Replace --no-platform with --with-platform

Replace --no-platform parameter with --with-platform=directory, which
allows to specify the location of the platform headers to be used
instead of downloading the default platform files from Khronos.
Add --use-egl and --no-egl. Command line changes.

Reorganize CMakeLists.txt.

Clean up command line interface and help texts.
Allow empty --with-platform
Calling glxwInit more than once is a no-op.
Updated with latest URLs for the GLES header files.

Note that the extension header file for ES3 is now the same as the one for ES2.
Remove workaround for broken GLES2 headers

Old versions of GLES2 headers had inconsistent naming, which was "fixed"
by glxw_gen.py script.
New OpenGL header URLs and matching regexes

Update to use new OpenGL header locations for GL, WGL and GLX.

Change the function matching regexes to match the changed function
declarations in headers.
Squashed 'library/glfw/' content from commit 610e293

git-subtree-dir: library/glfw
git-subtree-split: 610e293c65d8be495eb367559e17b7ffc2da941b
Merge commit '6d8fe87985ee44b2d9fb5b64b8cc1f13befadbe7' as 'library/glfw'
Squashed 'library/glm/' content from commit 4fa38c7

git-subtree-dir: library/glm
git-subtree-split: 4fa38c7a03df4064f9c4fff75f9d5a93f0049ae5
Merge commit '50a838d0f143a4b52f989404d7da2add9525bc7f' as 'library/glm'
Add 'library/glxw/' from commit '7ee20366357d9f7f9a73df7503710a87b8b93c41'

git-subtree-dir: library/glxw
git-subtree-mainline: 0ad91337107f4525d416071768001d8fd82a01ca
git-subtree-split: 7ee20366357d9f7f9a73df7503710a87b8b93c41
Wire up glfw and glxw.