fix(forms): ensure fields, fieldsets & forms are marked as dirty when modified
chore(pubspec.lock): upgraded route_hierarchical to 0.4.12
fix(MetadataExtractor): ignore typedefs

Fixes #524
fix(scope): use correct filters when digesting scope tree
feat(routing): new DSL and deferred module loading

Introduced new routing DSL that allows adding new modules for views.
Modules can be loaded synchronously or asynchronously, for example in case of deferred library loading.
docs(contributing): add code of conduct
chore(release): 0.9.7
chore(release): 0.9.7 name
docs(directive): fix a typo
text(io): make cssUrl a const
chore(perf): Get watch_group_perf running on Dart2js

DARTIUM:
========
fieldRead: => 58,240 ops/sec (17 us) stdev(0.0028)
fieldReadGetter: => 1,480,972 ops/sec (1 us) stdev(0.08649)
mapRead: => 1,720,752 ops/sec (1 us) stdev(0.05972)
obj.method?(): => 93,362 ops/sec (11 us) stdev(0.00549)
obj.method?(obj): => 79,881 ops/sec (13 us) stdev(0.00301)
add?(a, a): => 1,342,560 ops/sec (1 us) stdev(0.10907)

change-detect List[1000](RunTime): 61.251990689697415 us.

DART2JS:
========
fieldRead: => 372,422 ops/sec (3 us) stdev(0.0109)
fieldReadGetter: => 1,038,660 ops/sec (1 us) stdev(0.19283)
mapRead: => 721,103 ops/sec (1 us) stdev(0.04434)
obj.method?(): => 172,910 ops/sec (6 us) stdev(0.00801)
obj.method?(obj): => 161,329 ops/sec (6 us) stdev(0.00598)
add?(a, a): => 2,432,982 ops/sec (0 us) stdev(0.17624)

change-detect List[1000](RunTime): 145.12734924896597 us.
feat(scope2): Basic implementation of Scope v2
feat(Scope): Brand new scope implementation which takes advantage of the new change detection
fix(change detection): Fix for comparing string by value
refactor: minor code cleanup / fixes