Clone context instead of creating a new one.

Instead of creating a completely new context for every request, the one
passed to New or Subrouter is cloned. This makes it possible to inject
data into requests without resorting to global variables and the like.