Update .gitignore
Add ESNext dependency
Update jshint settings
Try getting Browserify working
Move back to browserify
Split logic into classes