New lexer with rewriter (writen in Ruby for now).
Merge branch 'master' into lexer
Tea version of custom lexer.
Integrated new Lexer.

- new lexer was rewritten in javascript;
- fixed the lexer to pass all the tests.
More fixes for Lexer.

- wrote tests for calls without identifiers;
- fixed special cases for calls without parenthesis;
- fixed regexp for matching identifiers.
Cleanup.

- removed ruby lexer;
- remove useless files.
fix: interpolation with leading string are failing to close.
Tea rewrite: using direct constructors instead of new + init.
Fix: omittable parens and statement modifiers.

Parens can be omitted when calling a method with at least one
argument, but there was a problem where the rewriter didn't stop
when encountering a statement modifier keyword (if, unless, while,
until or for).
Refactored TFunction which was too complex.

Also fixed a global variables leak in prototype/class method
definitions, which occurred when local variables in methods shared
the name of an argument passed to the constructor.
Uniformized function declarations to assignments.

The generated JavaScript no longer uses "function NAME" but "var NAME
= function" to be more consistent and simplify a little the code.