Update `formatElementParser` with a third param to remove `this` usage
Add ES5 fallbacks for `[].forEach`, `[].some`, and `{}.keys`
Update tests for changes.