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)
We're still applying it to the cueDiv. See line 751 below.

It's just that IE8 doesn't support `writingMode` and `unicodeBidi`, so, we're only adding it to our `styles` options object if we're not in IE8.

This does mean that we need to figure out another way of handling bidi text in IE8. Or just say that piece particularly isn't supported.