WIREBOX-30 bytype namespace and improvements

* Fixes bug where inject annotation containing a custom DSL with no
colons is superseded by the internal model DSL.
* Adds the bytype DSL, which allows the developer to inject based on the
type annotation instead of the name.