Optimize WebURL -> GURL conversions

When rendering sina.com.cn, we spend 5% of our total time converting between
WebURL and GURL. Prior to this CL, the conversion involved a number of copies:

1) From the String to a temporary buffer in String::utf8.
2) From the temporary buffer to a CString.
3) From the CString to a std::string.

After this CL, we are able to copy directly from the String into the GURL.
Instead of WebURL storing the spec in a CString, we now store the spec as a
String, which lets WebURL simply ref the same buffer used by KURL. When
building the GURL, we copy directly out of the String (assume it's ASCII, which
is usually the case for canonicalized URLs) into a temporary std::string, which
we move all the way into the GURL.

R=jyasskin@chromium.org
BUG=261412

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

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