parse req.type by media-typer

not sure if `this.request.charset` is really useful. but we can use [media-typer](https://github.com/expressjs/media-typer) to do this. 
it's not like the charset will change very often within a request, so i don't see the need to cache it.

why do we need `request.charset` anyways? i'm pretty sure @dougwilson is planning to add automatic charset decoding to the body parser