text: Title: Support `ETag` for static files
  Body: Render the `ETag` header when serving static files. We are already performing `.stat()` on the open file handle, so we should have the required data in order to build an ETag. We could use [the same algorithm](https://serverfault.com/questions/690341/algorithm-behind-nginx-etag-generation) as the popular Nginx web server.
  
  When serving, also check the [If-None-Match](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match) header, and render `HTTP 304 Not Modified` if appropriate.