function canDefineProperty () {
  // test needed for broken IE8 implementation
  try {
    if (Object.defineProperty) {
      Object.defineProperty({}, 'x', { get: function () { return null } })
      return true
    }
  } catch (e) {}

  return false
}
Test whether the current JavaScript engine supports Object.defineProperty
@returns {boolean} returns true if supported