The gba payload was broken for the BUILD_LANG variant of the gba payload. So if the PTGB rom was english, the english payload would be broken.
The reason for this was because the text_helper ended up trying to convert the same entries twice, because the <BUILD_LANG> RSEFRLG table
would be converted during generate_text_tables() first, and then it would be converted again during generate_rsefrlg_tables_for_all_langs()
But convert_item is a destructive operation, because it replaces the ['bytes'] dictionary field.
Fix: add a "converted" boolean to guard against converting more than once.
text_data_table was very similar in concept to FileContainerReader.
But FileContainerReader is generally more flexible, as it allows you to split up your table into several chunks.
This takes away the worry of these files getting too big to compress.
However, we now have a maintenance duty for the text_tables file, which maps a table index to the list of chunks.
We also need to be careful about every use of FileContainerReader::getPointerToFileInDecompressionBuffer().
Using it is fine when you're dealing with a single chunk or if you're sure the file doesn't span multiple chunks.
But the moment you seek to a different chunk, any pointer obtained from getPointerToFileInDecompressionBuffer()
becomes stale as the decompression buffer gets overwritten.
Still, this function is necessary for high memory pressure situations, such as mystery_gift_builder, because we can't maintain
multiple lineBuffers there.