Merge the following commit from upstream:
Touch: Fix duplicate TouchBegin selection with virtual devices
http://cgit.freedesktop.org/xorg/xserver/commit/?id=314776eb369ca2e438907795ae030dd743c281fc

This fixes gtk+3 applications crashing with 'BadImplementation' error.

ok matthieu@
Don't try to start an ssh agent if $SSH_AGENT_PID is already set.

ok matthieu@
install radeon_surface.h as well
simplify
use XGetWMProtocols and simplify WM_PROTOCOL handling
treat WM_CHANGE_STATE like other atoms
add support for _NET_CLOSE_WINDOW
- switch border colors to Xft
- merge border/menu color structures/functions since they now both use Xft
- switch xu_xorcolor to operating on XftColor instead of just
  XRenderColor (basically adding pixel)
- if color name allocation fails, revert back to default (this, along
  with font validation should occur during config parse, but we don't
  have screens setup yet - likely to change at some point)
move the rest of xft init into screen_conf, since most of it is based on
config parameters.
move the 2 small font helper functions to xutil.c
no reason to pass around *sc when it's already in menu_ctx.
- configure menuwin with the screen, then create the xft drawable using
  the menu window since that's the only place on which we draw
- elminate the need to change the drawable on every font draw
add support for _NET_WM_STATE_MAXIMIZED_{HORZ,VERT}; from Alexander Polakov.

while I'm unsure of the final look of _NET_WM_STATE, there's no reason
to delay this support.
handle _NET_ACTIVE_WINDOW ClientMessage; from Alexander Polakov.
stray whitespace
handle _NET_WM_STATE ClientMessage; from Alexander Polakov.
sync with src changes
move validation of pointer Button into conf_mousebind so we check
validity during the parse phase and not bother adding it to the queue,
instead of each time a client needs to grab (when it's too late);
furthermore, make this a config error, stop parsing and load the
default config.
get rid of long standing XXX: now that we configure screens based on
config options, add the keybinding GrabKey calls here
since we don't have any screens yet, there's no reason to conf_{,un}grab
here; just build keybindingq.