[XProto] Remove usage of all Xlib headers

This CL removes <X11/Xlib.h> from //ui/gfx/x/x11.h.  What was provided
by Xlib.h is now provided with inline declarations.  The intent is
that I'll incrementally remove declarations from x11.h until there's
nothing left, at which point the dependency on Xlib will be removed and
therefore x11.h can be removed.  Doing it this way will ensure no
additional usages of Xlib are introduced, and it gives a nice way of
tracking progress as usages are removed.

* All Xlib macros are now gone, so it's safe to remove the XProto
  "undef" files.
* For some usages of Xlib (events in particular), it's easier to port
  to XProto now rather than add declarations to x11.h.
* ui/gfx/x/keysyms/keysyms.h is added in its own directory because
  it's needed by xkbcommon code, which is also built on ChromeOS, but
  ui/gfx/x/BUIDL.gn asserts that the platform is desktop Linux.

BUG=1066670
R=sky

Change-Id: If8679721548d45bdea48bcd8a898191b3f87eb10
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2392140
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Nick Yamane <nickdiego@igalia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#805533}
GitOrigin-RevId: a95e1204777ae7d75fc7962ea16131cc2447b369
2 files changed