A more flexible replacement for libevent's httpd API (Developers, use the develop branch to patch, not master)