Support IE8 by wrapping Object.defineProperty with a try catch