refactor(transpiler): split the monolithic dart transformer

fixes #24

The new architecture conforms with the Traceur architecture.
design: update change_detection
chore: fix karma dart setup
design: add test change_detection
doc(README): HOWTO debug the transpiler
fix(DartWriter): number (js) maps to num (dart)
feat(lexer): initial (wip) implementation.
feat(DartWriter): support string interpolation
feat(facade/lang): support int
refactor(lexer): rename to scanner, use ints, etc.
fixes to get tests green with karma dart
test: add example test for change_detection
feat(transpiler): handle named params
chore(build): execute `pub get` only if a pubspec.yaml changed and run `dart analyzer` on all dart files

`pub get` is now only executed when the `pubspec.yaml` in the `modules`
folder is different than the `pubspec.yaml` in the `build/dart` folder.

Generates the file `build/dart/_analyzer.dart` that imports all modules
to run `dart analyzer` against all of them. The build will fail whenever
there are errors, warnings or hints in `dart analyzer`.

Changes the sources so that `dart analyzer` does not report any
error, warning or hint.

Closes #40
design: added selector interface
feat(transpiler): constructor and typed field semantics

fixes #11 (constructor and typed field semantics)
fixes #42 (Should we infer class property types from ctor args ?)
fixes #17 (number (js) should map to num (dart))

Closes #45
chore: remove hello test
fix: Enabled annotation support for Dart
feat(injector): initial implementaion of dynamic injector
refactor(injector): rename humanize into stringify