Inclusion of internal headers is already both centralized and follows strict rules. Inclusion guards are both an unneccessary maintenance burden and may hide inclusion order bugs.
[ci skip]
This prepares the X11 backend to support other joystick APIs, for example the FreeBSD libusb one.