Fast, convenient dynamic arrays in C