Fix issue 29

Use the shimmed implementation of ```Object.defineProperty``` and ```Object.defineProperties``` when the native implementation will not assign a value to a function's prototype. Fixes #29