Make FileRequest overridable by platform implementations

On Android (#579), we can now rename AssetRequest to FileRequest and implement it differently: Instead of loading from the file system, we're loading from a the zip file the application ships in to avoid decompressing everything on app startup.

We should probably rename `file://` to `asset://` and disallow access to outside the install path of the app.