StringBuffer should use a single malloc region

This CL re-implements StringBuffer on top of StringImpl::createUninitialized
rather than fastMalloc. This approach is better because the resulting strings
will consist of a single malloc region instead of two. The vast majority of
strings already come from createUninitialized.

This CL removes one of the few remaining clients of the pointer in StringImpl.

R=eseidel
BUG=262320

Review URL: https://chromiumcodereview.appspot.com/19857009

git-svn-id: svn://svn.chromium.org/blink/trunk@154794 bbb929c8-8fbe-4397-9dbb-9b2b20218538