Consider removing `accepts` dependency to reduce package size
Taking a look at the published `koa@2.13.0` bundle shows that [`mime-db`](https://www.npmjs.com/package/mime-db) [**takes up almost 62% of `koa` total size**](https://bundlephobia.com/result?p=koa@2.13.0).

![image](https://user-images.githubusercontent.com/476069/95188413-45be0e80-07c4-11eb-8c25-aaaff0180c7c.png)

`mime-db` comes as a transitive dependency from `accepts`.

```sh
❯ npm ls mime-db
@my-project@1.0.0 /dev/my-project
└─┬ koa@2.13.0
  └─┬ accepts@1.3.7
    └─┬ mime-types@2.1.27
      └── mime-db@1.44.0 
```

Your experience and mileage may, obviously, vary - but I've been using `koa` (and derivatives such as `apollo-server-koa`) extensively for a number of years now, in almost all of my web based projects, and I believe I have _only once_ used `ctx.accepts` or any of the other public API features related to `accepts`. IMHO, for something that offers very little in terms of aiding regular users in building robust web servers and covers a really small part of the API surface, letting it **take more than half the size of the entire framework** seems very disproportionate - not to mention, unnecessary.

It might be required internally, as a core component, so I'm not sure about the feasibility of stripping `accepts`. I doubt, however, that the effort to remove it altogether (or replace it with a slimmer version?) would not pay off in the end. If really needed, users could install it on their own. `accepts` could be turned into a middleware of sorts, even.

Thoughts?