Introduce ga_append_via_ptr() and GA_APPEND_VIA_PTR()

Similar to GA_APPEND(). Replaces this pattern:

    ga_grow(&ga, 1);
		item_type *p = ((item_type *)ga.ga_data) + ga.ga_len;
		p->field1 = v1;
		p->field2 = v2;
		ga.ga_len++;