Allow all middleware to take a URL prefix

As a follow-up to #15, allow middleware to take a URL path prefix. This is mostly in case routes are mounted somewhere that's not defined in the schema itself.