detect whether plain objects can use Object.defineProperty