feat(di): add OpaqueToken to DI

Using `new Object()` as a token causes cryptic errors. OpaqueToken class should be used instead.
fix(parser): handle empty strings
feat(parser): adds support for variable bindings
fix(examples): fix hello_world example (js)

Added missing path mapping for the new reflection module.
feat(Change Detection): Add support for keyed access