Replace `std::string`s which were only used for hashing with `Hashable`.
Introduce a new ChunkyString class, and use it in preference to std::string for representing strings in chunky files.
MaterialVariable now has a trivial destructor.
LengthPrefixBlock was really just a ChunkyString.
MaterialVariable values also look like ChunkStrings.