Just use the request callback

I'd like to know what you think of this. Instead of doing stuff in the request callback, just let users use the native thing. Since this is a pretty low-level thing, I find it easier to just deal with the low-level primitives.

Changed the variable names: _ to callback, since it's easier to read to me. req to canonicalReq because there's a previously defined req function and that's what the Ruby client calls it.

Please close if you disagree with the changes. I'm sure this would be a breaking change too for people who are already using this.