IE9 & IE10 support

Replaced __define[G|S]etter__ with Object.defineProperty for IE9 and later. Since some existing code (e.g, CSSStyleDeclaration.js) only supports IE9 and later, I think it is reasonable to replacing them without backward compatibility.

Also, replaced String.trimRight with String.replace(/\s+$/,"") because trimRight
is not ECMAScript5 function and IE does not support it.