Read entire input into contiguous memory
Read entire input into contiguous memory

This should be slightly faster at loading the input into memory, since
fewer mallocs will be required vs running one malloc per-line of input.

Realloc on modern systems is fast. It can use mremap internally to remap
virtual memory pages and avoid copying. This can be seen in strace. Neat!

I thought that this might be friendlier to caching, but there was no
noticeable differnce when scanning through the strings for matches. It's
probable that the previous strdups placed them more-or-less contiguously
and the extra padding for malloc bookkeeping didn't make a significant
differnce. This also suggests that alignment of the candidate strings
wasn't important.

jhawthorn/fzy,jhawthorn/fzy,jhawthorn/fzy