Duplicating context lists took a measurable amount of time when drawing large node trees in the node editor. Instead of using a linked list of entries, which results in many small allocations, use a vector. Also, use std::string and StringRefNull instead of char buffers and pointers.