HTTPResponseError is now a ResponseGenerator
After this PR, https://github.com/hummingbird-project/hummingbird/pull/484
This PR has made HTTPResponseError a confusing entity.
Although status and headers are included as requirements, but there are no meaningful usages.
It is no different from ResponseGenerator.
To avoid confusion, we should either remove it, or provide a default conformance to ResponseGenerator.
status and headers are used in both the tracing and metrics middleware, so we can't just conform to ResponseGenerator as we need this additional information.
Sorry, I missed the usage in TracingMiddleware. My thoughts are written here: https://github.com/hummingbird-project/hummingbird/pull/502#issuecomment-2207866751