Make Rack comparable to middleman server

An attempt to refactor our internals so Rack can also have access to the file watcher and reloading.