Integrate ESLint

Fixes #40.
I'm fine with either approach. Though the unintentional browser-specific code case isn't 100% clear to me.