Rewrite of the method injection proxy system

* Can now reuse generated proxies
* Separated code generation from proxy generator