Speed up and add IE compatibility

- ES5 shims + shams
- Resize the canvas only on window resize instead of every iteration