Take cached_property from Werkzeug.