When we cannot bind to the port, return an error which will make CoreDNS fail startup. Still a bit hackish, but good enough.
Rename the old Context to State and use context.Context in the middleware for intra-middleware communication and more.