Coffee expressions

I'm very interested in seeing support for CoffeeScript expressions in Jade, and this PR is more-or-less a minimal experimental implementation to gauge interest and reactions.

This will compile things like following as you would expect:

```coffee
- if 1 is 2
  = [ 'one', 'thing' ].join ' '
- else
  = [ 'an', 'other' ].join ''

- console.log 'huh'

div= 'ok' ; 'not bad'

div= "this #{'is'} pretty #{'cool'}"

- for own k, v of { a: 1, b: 2, c: 3 }
  div(class="class_#{k}") Class #{v}

= "hello #{a}" for a in [1, 2, 3]
```

Result:

```html
another
<div>not bad</div>
<div>this is pretty cool</div>
<div class="class_a">Class 1</div>
<div class="class_b">Class 2</div>
<div class="class_c">Class 3</div>
hello 1,hello 2,hello 3
```
Notably absent at the moment:
- else if
- interpolations

`else`/`else if` pose a bit of difficulty as they would ideally be compiled with the `if` code to be valid.  Currently `else` are being treated like JS (so the else statement itself is not compiled with CS, but the contents of the block still are) and `else if` is unsupported (throws error in CS).  `else if` could also be hacked in by taking the `else` off the front, compiling with CS, and then sticking the else back in front, but it would be nicer to somehow compile the sub-statements as one.

I think a complete implementation of this should define some concept of a code precompiler that gets invoked wherever code can appear (all interpolations, attributes, and code nodes).  The default one would just passthrough, a CoffeeScript one would compile with `coffee-script`, etc.  This doesn't solve the if/else if/else issue though...