Allocate user-data-array on the heap

This saves each object allocation 72 bytes.  Now object overhead is just
16 bytes (on x86) instead of 88 bytes. Neat.
1 file changed