CustomEvent polyfill

- adds support for even older browsers which don't have support for CustomEvents at all