Add uinput support to Game Player
Add a VirtualKeyboard device that uses uinput, for emulators that currently can't be patched for direct keyboard control. This is intended to ultimately replace the X11 event throwing currently in place, for emulators that can't be patched for more direct control.
VirtualKeyboard is a singleton class which instantiates itself on the first call to get its instance. The device will be opened when Game Player starts, and remains active for the life of Game Player, to be destroyed when Game Player is no longer running.