update test code to use http.StatusText
wrap Context HTTP response writer in local struct

allows intercepting default http.ResponseWriter methods
always call Context.Response.Write

this helps with wrapping because the first call to Write() can now be
taken as a safe point of "client has done all its header stuff and is
ready to write the body, if any". without this empty responses would not
trigger.
Custom public ResponseWriter for flexible wrapping

allows inserting callbacks between setting of response headers by
handler and writing response data
Compress response data when possible
Explicitly set abort message content-type

Otherwise this is done by http package heuristics but its always txt