Ejecta compat first pass, with example

I know there might be some work already being done on this, but I thought I would give it a shot. The example should be functional with latest version of Ejecta.

Biggest fixes had to do with the fast the elements in Ejecta are not really elements. No `addEventListener` method, and `instanceof Image` is `false`.

The devicePixelRatio was pulled from three.js, but honestly not sure if it is required, I didn't test without it. It was in one of my first tries and I left it in.