streaming media

Rebased and slightly modified version of moxie's media-branch version. This one keeps the PartProvider around to supply encrypted previews for audio/video, and we can remove it once we support previewing all media in-app.