Final `setPrototypeOf` polyfill solution.

Fallbacks to native if exists and provides workaround for V8 bug:
http://code.google.com/p/v8/issues/detail?id=2804