[XProto] Add simplified request syntax

This CL adds an alternative request syntax that has the request fields
as arguments.  This should make requests that take 0 or 1 arguments
a bit nicer.  The implementation forwards to the existing request
methods that take Request objects.

* To make forwarding FDs possible, a new RefCountedFD class is added
  since base::ScopedFDs are not copyable.
* Remove unnecessary {} from simple cases that take 0 arguments.
* Remove {x} for single-argument cases where the call would have
  been ambiguous.
* Rename x11::Present::Pixmap to x11::Present::PresentPixmap to
  work around a name conflict.

BUG=1174286
R=sky

Change-Id: Ia4714cfeaa10c80760d987ad468a445c5bacd0c8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2689664
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#856817}
GitOrigin-RevId: d930397e823acc642ab532f490fe17a7a0099554
1 file changed