[KMS] Initial implementation
[KMS] Added new Linux KMS driver
[KMS] Create window surface
[KMS] Improved GBM surface format selection
[EGL] Egl.GetError() now returns ErrorCode
[EGL] Added support for desktop GL rendering

On Linux, EGL can be used to initialize a desktop GL context.
This is especially true on KMS, Wayland and Mir.
[ES][GL] Print name when loading bindings (debug only)
[KMS] Added DRM/GBM framebuffer implementation
[KMS] Fixed NRE in Toolkit.Init(); improved resource cleanup
[KMS] Fixed Gbm.DestroyDevice entry point
[KMS] Query GPUs lazily
[Linux] Added stub TTY and  libinput IKeyboardDriver2
[Linux] Implemented TTY and libinput keyboard drivers
[Linux] Improve checks for TTY
[Linux] Disabled TTY keyboard driver in favor of libinput

The TTY keyboard driver requires a robust cleanup method to avoid
hogging the keyboard/console after the process exists. Without
this, it does not make sense to use enable this driver.
[Linux] Implemented libinput keyboard input
[Linux] Completed libinput keyboard driver implementation
[Linux] Fixed poll() in libinput event loop
[Linux] Fixed keyboard polling
[Examples] Reverted mistaken change