Rewrite server as a connect middleware

Sorry @joliss, didn't have much time today, so I through this together, no time for pairing ;) I'm not sure exactly how we should expose this middleware for reuse, since it needs the watcher set up, but it's a step in the right direction, I think.