Make the HTTP API module available to third-party programs as a library.

This makes the HTTP handling part of the core totally reusable by third-party programs and library.

Using it makes them able to focus completely on their application and not on “administrative stuff” to work with HTTP.
Why pass the request to the Router constructor (that is so specific to each request and, then, should be called RequestHandler or something like that) and not to the answer method?