When a `Template` annotation declares a `url` value, parse it to
generate `getter`s, `setter`s, and `method`s which will it needs to
access reflectively.
Adds any metadata attached to a parameter to the "parameters" value
passed in to `registerType`.
For example:
`MyComponent(@Inject(Foo) foo)` generates
`"parameters": const [const [const Inject(Foo)]]`
Also reorganizes the testing code.
Closes#7