missing include for unistd.h, needed on Debian
recursion through window children is necessary after all...
XQueryTree can fail, it shouldn't be fatal
simplify implementation, use Xfixes' XFixesHideCursor/XFixesShowCursor

avoids all of the problems that XGrabWindow causes with various
other applications
fix grammar
set most things with ?= so they can be overridden
init kids to NULL so the later check is correct

prevents XFree trying to free junk in the error path
use __progname instead of hard-coding xbanish