Initial implementation for disk caching. By enabling the cacheEnabled property,
FreeStreamer can now cache streams with a duration (non-continuous streams) to disk.
If the file was cached successfully, the local file is played instead of fetching
the file over HTTP.