An Object.defineProperty replacement, in case Object.defineProperty is not available. From https://github.com/kriskowal/es5-shim