Internal
Grows a buffer if it isn't large enough
The original buffer if resized successfully, or a newly created buffer Not for external use!
Grows a buffer if it isn't large enough