[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
diff --git a/EGL/eglplatform.h b/EGL/eglplatform.h
index cf2ce0c..af5ef0c 100644
--- a/EGL/eglplatform.h
+++ b/EGL/eglplatform.h
@@ -102,8 +102,10 @@
 #elif defined(__unix__)
 
 /* X11 (tentative)  */
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
+typedef unsigned long XID;
+typedef XID Pixmap;
+typedef XID Window;
+typedef struct _XDisplay Display;
 
 typedef Display *EGLNativeDisplayType;
 typedef Pixmap   EGLNativePixmapType;
diff --git a/README.chromium b/README.chromium
index 1a2c737..775ab95 100644
--- a/README.chromium
+++ b/README.chromium
@@ -32,6 +32,7 @@
 EGL/eglplatform.h
  - Added EGLNative*Type for Mac.
  - Added EGLNative*Type for native linux framebuffers.
+ - Forward declare Xlib types instead of including Xlib headers.
 EGL/eglext.h
  - Added support for EGL_EXT_image_flush_external extension
  - Added support for EGL_ANGLE_stream_producer_d3d_texture