Improved Callbacks

Thanks for writing this library - i have made some changes to the callback logic which
IMHO makes the callbacks more flexible.
--
Callbacks are now called when the response
is about to be written.
A callback now takes the actual request as
first parameter. And can be any object that is
callable. Furthermore the signature of the
return value has changed to a tuple returning
the status code along with the headers and the body.
This allows for more logic in the callbacks.

Callbacks and regex url matching now work together
because the real request is used for passing the
url the callback instead of the Regex