Ie8

This includes various fixes I've done to support IE8 (for issue #333).
It changes `Object.defineProperties` to separate `Object.defineProperty` and uses a custom DOM element for IE8.

Also, there's some work done various styles that weren't being applied correctly because IE8 doesn't support `rgba` and a few other properties.

The only thing that is missing is positioning. IE8 doesn't include `height` and `width` in `getBoundingClientRect` so I've tried to remedy that but it seems there still more thinks around the `BoxPosition` that I am not figuring out that ends up setting values like `top` and `bottom` to `NaN` because some values are unset and so then it display it incorrectly.

However, the positioning issues aside, this PR does make vttjs work fully on IE8 (assuming you've excluded the text-encoding module), though, positioned incorrectly. ![](http://f.cl.ly/items/3P2c0p402D333U0y1z1W/Screen%20Shot%202014-11-21%20at%2015.01.10.png)
Yeah, I'm not certain. Was trying to take a stab at making it work and this seems to be working everywhere. (Doesn't mean this is correct).
But seems like in IE8 `this.top` end up coming in as undefined. A more correct thing here would be to check if that value is anything but a number use `reference.top`.