Fix a critical bug with seeking in archives

Also, other small cleanups on the way.
Fix filesystem init for relative 'gamePath's
Optimize archive reading

This should be almost as fast as reading unencrypted
files from disk now. I also don't see any possible further
optimizations, so this is probably as fast as it gets.