Re-write jade language to match the jade lexer

The language mode for jade had a large number of bugs and corner cases.  I decided to re-write it for use on the jade-lang.com website and the jade brackets extension.  To get it right, I've based it off the code in the jade-lexer (i.e. it's pretty much a direct port).  I've also tested it against all of the examples in the jade github repository: https://github.com/ForbesLindesay/jade-brackets