Proof of concept only. Has no tests, no error checking, no design to speak of...
Turns out that CassiniDev is still running while the reporter is executing, so there is no need to even spin the server back up. A reference to the running server is passed through the server factory, because it has a nice method to turn a virtual path into a url. However, we could get rid of that reference and just build the URL ourselves the same way that MvcApprovals already does. This is probably preferred because we wont need a reference to CassiniDev in ApprovalTests if we build the URL without using the server.
The rest is just plumbing around rewriting the HTML with inline CSS. Only looked at doing CSS in this prototype. This doesn't handle images and other external resources.
Works on my machine.