This commit adds a `cost` keyword to the `limit` and `shared_limit`
decorators which sets the cost of a hit.
This uses the `cost` keyword that was introduced in `limits` version
2.3.0, so this commit also updates the `limits` dependency from `^1.5`
to `^2.3`.
Closes#94, #106
The value returned by an endpoint may not be an instance or subclass
of `Response`, in this case FastAPI builds the actual Response
at an upper level in the middleware stack.
This patch allows the decorator to inspect the endpoint to retrieve the
associated `Response` to allow headers to be injected.