Simplify & clarify inheritance logic for Middleware

I read the ECMAScript spec to make sure the technique I was using to
make instances of ajaxTransportMiddleware evaluate as instances of the
internal Middleware class was not relying on browser-specific or poorly
specified behavior. It is in line with the spec, and the comment points
at the relevant parts now.