no need for font_{ascent,descent,height} wrappers; limit font_width to
just requiring xftfont.
only redraw the name/size box when the client resizes, not every time
there's movement; should slightly help with resize syncs.
get rid of cc->name in the resize box and make dimensions more readable.
zap leftover debug printf
- no need to position and size the menu window before an Expose event
  since we'll be calculating required size later anyway; allows us to
  consolidate all prompt/display/search string building goop into
  menu_draw.
- reset the pos/size of menuwin when leaving a menu.
- reverse the 'prompt' NULL check to be consistent with 'initial' one
  and fix a whitespace nit while here.
border width/color makes no sense on menuwin
remove group in client_delete directly.
negative values for borderwith, moveamount, snapdist and gap are
configuration errors, so warn and load defaults.
border width/color makes sense for some, so put it back
fix KeySym type
int type fixes
spacing
more type fixes for mask/button
replace conf_{gap,color,font} with conf_screen since really we are
configuring the screen *after* parsing, just as we do a conf_client on
client manage.
new -> init
swap x/y calculations in kbd move/resize to match those in the respective mouse functions
- let callers of font_draw figure out (and pass) the color instead of an
  'active' flag.
- use strlen() inside of font_draw; the only instance where it wasn't
  used happened to be ignored on a subsequent draw.
if -> ifdef
simplify
use XGetWMProtocols and simplify WM_PROTOCOL handling