frontends: rearchitected input system and interfaces.
frontends: added mouse button support.
frontends: added joystick button support.
frontends: added joystick hat support.
controllers: GB joypad controller is now fully supported.
controllers: fixed LCDC DMA transfer.
main: ESC key is now registered as a quit event.
libretro: input is now fully supported.
libretro: all input controllers now have a libretro-specific configuration.
main: input descriptors are now only printed when named.
frontends: fixed input config loading and compilation with libroxml.
frontends: added input configuration save/restore support.
controllers: added sprite support to GB LCDC controller.
main: implemented separate reset for all machines, CPUs, and controllers.