Add js2 mode support

I also took the liberty of using align-regexp on the existing face definitions to align them.

Hopefully the color assignments for JS2 mode can be considered sane ;)