Implement Action#format

Closes #15
@zlw I'm afraid we need to maintain a small lookup table, to override `Rack::Mime::MIME_TYPES`. If our table cannot satisfy the request, it fallbacks to Rack's constant.
I'm gonna merge your PR, and take care of the rest. Thanks, your code gave the right foundations to this feature. :beers: