Inject the auntenticated user

This PR `Map`s the authenticated username, so it can be used in downstream handlers, like this:

```go
m.Get("/", func(user auth.User) string {
    return "Hi, " + user
})
```

README is updated. Tests coming in a couple of minutes.