[RFC] Update GLExtensions to have less fail support for GLES.

Instead of grabbing everything that was GL version 3.0 and below, now grab the actual functions it supports instead.
If it fails to grab a function pointer, fail out like using desktop GL.

This increases compiling time a bit(~8 seconds here) but nothing compared to what it was when GLExtensions was first implemented.
Runtime initialization time wasn't changed to be any sort of noticeable length.