fix: account for x-forwarded for in default key_func
support passing a callable in the limit decorator

this allows dynamically querying for a rate limit
of a certain route.
improved documentation for Usage.