chore(generator): default package-root when not provided
Merge pull request #33 from cbracken/codegen-default-pkgroot

chore(generator): default package-root when not provided
refactor(injector): switched to using reflectedType, moved most of reusable code into Injector
chore(benchmark): moved benchmark code around, added script to run it
chore(benchmark): split benchmarks into separate files
chore(benchmark): fixed runner
chore(tests): running benchmarks as part of the tests
perf(injector): speedup injector creation

Before
------
VM:
ModuleBenchmark(RunTime): 3.963142772218369 us.
DynamicInjectorBenchmark(RunTime): 242.92481476982874 us.
StaticInjectorBenchmark(RunTime): 98.62419251442378 us.

dart2js:
ModuleBenchmark(RunTime): 30.26176426085641 us.
DynamicInjectorBenchmark(RunTime): 2326.7441860465115 us.
StaticInjectorBenchmark(RunTime): 665.335994677312 us.

After
-----

VM:
ModuleBenchmark(RunTime): 4.427942976950343 us.
DynamicInjectorBenchmark(RunTime): 258.1977794990963 us.
StaticInjectorBenchmark(RunTime): 78.25032278258148 us.

dart2js:
ModuleBenchmark(RunTime): 31.10371533879722 us.
DynamicInjectorBenchmark(RunTime): 1467.351430667645 us.
StaticInjectorBenchmark(RunTime): 372.9951510630362 us.
Merge pull request #34 from pavelgj/refactor

chore(merge): injector refactoring
fix(dynamic_injector): don't catch NoProviderError

Closes #22
perf(Injector): Make types getter faster
style(Module): fix CS
Merge pull request #37 from vicb/cs/module

style(Module): fix CS
Merge pull request #35 from vicb/perf2

perf(Injector): Make types getter faster
perf(mirrors): cache reflected type hack
chore(style): clean up code style
chore(test_runner): don't run benchmarks as part of the tests

Too slow, run on CI instead.
chore(TODO): cleaning up TODO items
fix(generator): RangeException due to os-specific file separator on Windows
chore(benchmark): naive attempt to prevent dart2js from overoptimizing benchmarks