Fixed #10190 -- make charset in HttpResponse customizable

``HttpResponse``s charset is now depending on its ``Content-Type`` header key.
If no charset is found there, it falls back to the ``DEFAULT_CHARSET`` setting.
Good point, I updated the PR again, it now relies on the `charset` property for setting the content type. As a consecuence, the `charset` property doesn't relly anymore on the `Content-Type` key being available.