JShint support

This branch relies on my previous PR.

I will rebase it after the other PR goes in or not.