string_bytes: add NODE_EXTERN

This will be a useful utility for module devs, so adding support for
Windows.
string_bytes: implement new v8 String API

Use the new String::NewFrom* methods to write out strings. Performance
improvements are subtle, except in the case of ASCII. There we gain ~60%
in performance.

Also added node_isolate to HandleScopes.
string_bytes: use external strings when large

In cases of large one byte strings, and all cases of two byte strings,
it's faster to use an External(Ascii)StringResource. The classes have
been kept hidden from devs, but might be useful to expose the ::New and
::NewFromCopy methods in some way.
string_bytes: binary use one byte strings

Noticed that NewFromOneByte had the same result as the previous
implementation.
string_bytes: further optimize extern usage

Further optimization has been done on usage of external strings. Also
found this affects two byte strings the same way. So the name has been
changed for when UCS2 encodings also support external strings.
string_bytes: ucs2 use external strings

Figured out the problem with two byte external strings. Now they work!