A few changes:

 * Separate flags from types.
 * Allow external buffers to be supplied for dynamic vstrings.
 * Allow purely static (non-growable) vstrings.
 * Add some sanity checking in pushstr.
Document the API.