WIP: EGL backend

Doesn't really do much thus far. This is just a stub to remind me to get back to this later. @almarklein did you have in mind to have an `EGL` `app` backend like this for headless rendering? It seems like it might actually be possible, in which case I can investigate further.

On OSX I get the error `'Unable to load EGL library', 'dlopen(EGL, 10): image not found'`, which I expected because I don't have EGL installed. But in Ubuntu I think I'll just need to install the `libegl1-mesa` package to get it to work with software rendering at least. Assuming that works, I can read about how to set up a context with EGL and we might be onto something.
I see that in some of the lines above and below (the extra space is denoted in extra-red), but I do not see it here...