Plus make inclusion order a little more consistent in general
+ Utf8Length is really slow but has the same semantics in this case
In order to do this, buffer data management was moved out of the JS entry-point New, and into Replace. Secondly, the constructor makes an immediate call to Replace, and in order for ArrayData calls to work, wrapping must already be set up. Now, the constructor takes the wrappee as a parameter.
These were all lacking implementation, so deprecating wouldn't help.
New() methods should be invoked as constructors, not regular functions. Corner cases like Script::New() may cause a SIGSEGV when the GC is run. More details: http://groups.google.com/group/nodejs/browse_thread/thread/a7e5db68d4cd6356
Implement SlowBuffer.prototype.slice in js