Prevent bug if document.createEvent fails but window.addEventListener does not

Some IE8 shims will provide certain capabilities and not others. In these capability checks, you're looking for `window.addEventListener` and then assuming that its existence will automatically give you the existence of `document.createEvent`. In the case where you are using both, I am explicitly checking for the existence of both.

I'm not sure if this project is being actively manned, but let me know if there's anything you want in order to merge. I used `jsmin` to create the `.min.js` files.