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
refactor(facade): instantiate a fixed length array
refactor(injector): change reflector to collect the resolving path only when an error occurs
refactor(injector): use @CONST to create the Inject annotation
feat(injector): implement async dependencies
feat(injector): handle construction errors

- Detect cyclic deps
- Handle initialization errors
feat(injector): handle in-progress async construction
feat(injector): implement InjectLazy
feat(injector): handle async cyclic dependencies
feat(injector): change injector to show the full path when error happens in a constructor (async)
refactor(injector): remove DIError
feat(facade): add bool type
refactor(injector): add bool and int annotations
refactor(injector): add @FIELD annotations to Key and Dependency
refactor(injector): cleanup
refactor(injector): uses one instance of reflector instead of creating a new instance every time