Add delegate to DirectBuffer to allow reallocation of buffer if size is too small. Addresses #173