Proc-macro output dir

Right now global registration is a side effect, there's no way around that. However some are working to change this.