glad2 EGL loading problems
I'm trying to load EGL dynamically, then chose a screen based on a user input. The code for this looks as follows (A), when running this I get the following segfault (B). The `glad_egl.h` and `glad_egl.c` files seem to differ sightly:  `GLAPI int gladLoadEGLInternalLoader();`  vs `int gladLoadEGLInternalLoader(EGLDisplay *display)`. Maybe this is causing the segfault (I woudn't have expected this to compile). 

Is there a way to load those EGL functions needed to chose a device before calling a LoadEGL version that requires knowing which device you want.

(A)
```
    // Load EGL functions
    if(!gladLoadEGLInternalLoader()) {
        fprintf(stderr, "failed to EGL with glad.\n");
        exit(EXIT_FAILURE);

    };

    // Query EGL Devices
    const int max_devices = 32;
    EGLDeviceEXT egl_devices[max_devices];
    EGLint num_devices = 0;
    EGLint egl_error = eglGetError();
    if (!eglQueryDevicesEXT(max_devices, egl_devices, &num_devices) ||
        egl_error != EGL_SUCCESS) {
        printf("eglQueryDevicesEXT Failed.\n");
        m_data->egl_display = EGL_NO_DISPLAY;
    }
    // Query EGL Screens
    if(m_data->m_renderDevice == -1) {
        // Chose default screen, by trying all
        for (EGLint i = 0; i < num_devices; ++i) {
            // Set display
            EGLDisplay display = eglGetPlatformDisplayEXT(EGL_PLATFORM_DEVICE_EXT,
                                                          egl_devices[i], nullptr);
            if (eglGetError() == EGL_SUCCESS && display != EGL_NO_DISPLAY) {
                int major, minor;
                EGLBoolean initialized = eglInitialize(display, &major, &minor);
                if (eglGetError() == EGL_SUCCESS && initialized == EGL_TRUE) {
                    m_data->egl_display = display;
                }
            }
        }
    } else {
        // Chose specific screen, by using m_renderDevice
        if (m_data->m_renderDevice < 0 || m_data->m_renderDevice >= num_devices) {
            fprintf(stderr, "Invalid render_device choice: %d < %d.\n", m_data->m_renderDevice, num_devices);
            exit(EXIT_FAILURE);
        }

        // Set display
        EGLDisplay display = eglGetPlatformDisplayEXT(EGL_PLATFORM_DEVICE_EXT,
                                                      egl_devices[m_data->m_renderDevice], nullptr);
        if (eglGetError() == EGL_SUCCESS && display != EGL_NO_DISPLAY) {
            int major, minor;
            EGLBoolean initialized = eglInitialize(display, &major, &minor);
            if (eglGetError() == EGL_SUCCESS && initialized == EGL_TRUE) {
                m_data->egl_display = display;
            }
        }
    }
```

(B)
```
#0  rawmemchr () at ../sysdeps/x86_64/rawmemchr.S:37
#1  0x00007ffff786cff2 in _IO_str_init_static_internal (sf=sf@entry=0x7fffe1e0bd90, 
    ptr=ptr@entry=0x0, size=size@entry=0, pstart=pstart@entry=0x0) at strops.c:41
#2  0x00007ffff785bbb7 in __GI___isoc99_vsscanf (string=0x0, 
    format=0x7fffe885e851 "%d.%d", args=args@entry=0x7fffe1e0beb8)
    at isoc99_vsscanf.c:41
#3  0x00007ffff785bb57 in __isoc99_sscanf (s=<optimized out>, 
    format=format@entry=0x7fffe885e851 "%d.%d") at isoc99_sscanf.c:31
#4  0x00007fffe876f43c in find_coreEGL (display=<optimized out>)
    at examples/ThirdPartyLibs/glad/glad_egl.c:227
#5  gladLoadEGL (display=0x7fffdc000ca0, load=0x7fffe876f3a0 <glad_egl_get_proc>, 
    userptr=0x7fffe1e0bff0) at examples/ThirdPartyLibs/glad/glad_egl.c:246
#6  0x00007fffe876ff52 in gladLoadEGLInternalLoader (display=0x7fffdc000ca0)
    at examples/ThirdPartyLibs/glad/glad_egl.c:365

```