Object.extend() which works well with ES5 getters and setters