Faster replay browser loading

Partial fix to address the core issue (slow replay browser loading) behind the suggestion given in #5942.

This parallelizes the loading process and removes a few bottlenecks. An informal test with 1200 replays sees the "Load Replays" time reduced from 3527 ms to 1210 ms on my dual core machine. Machines with more cores might see even bigger improvements but eventually IO will take over as the bottleneck so things will plateau somewhere.

This doesn't actually implement any lazy or background loading as suggested in #5942. That would probably be worthwhile, particularly for when the replay files are not in the file cache and waiting on IO becomes the main issue.
I *think* UTF8 is the default encoding - but I'll double-check since I don't want to break that.

I don't have anything against dropping this check of the length - depends how important it is (have files ever become corrupted like this before?)

I have realised however that I'm ignoring the length of the string when reading in all the lines. Not sure how it's still working but I'll have to fix that.