Code cleanup, this is now functional on X11 and EGL+X11. It could use some additional refactoring to add in parameters and make everything more generic. Raspberry Pi EGL works, but there is no input through X11. Need to investigate evdev in the future.