Various: Use ES5, users should polyfill on their own for IE8 support

Fixes #244
Fixes #259
Fixes #260
Closes #276