Use character-parser for js-expression parsing

This fixes all the weird failing to parse expressions with brackets in them bugs in one fell swoop by using an expression parser that's not based on regular expressions and actually understands things like strings and comments.  It also makes calling mixins support multiple lines.

Assuming the travis build parses and nobody objects by 2013-04-15T09:00:00Z I will merge.  I'd be grateful if people could review this.