Integrate ESLint

Fixes #40.
Well, as you can see it's way messier this way. But it's your call.