rack middleware for serving asset files

This adds a middleware for serving asset file requests.  It analyzes
the request: if it is for an asset file, it builds an appropriate
response to serve the file - otherwise it calls up the middleware
chain.

This is intended to be used in development so that digested assets
don't *have* to be copied to the public directory.

Ideally, this would not be used in non-development.  In that case,
the asset files should be copied to the public dir on deploy so that
the webserver can serve them directly.