Refactor RetroPlayerInput code and add better documentation and logging

Fixed: disallow antagonistic buttons from being pressed together
Add skeleton support for libretro environment variables RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS and RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK. Refactor GameClient and RetroPlayer code.