improve CSVReader's error messages
use GC_MALLOC_UNCOLLECTABLE instead of malloc and GC_add_roots