Updates

Hi @geekdave a number of fixes, and improvements:

1. I fixed the double line as mentioned by @mmikeyy 
1. Optimized the `applyToConstructor` function
1. Added a factory/constructor method for views as proposed in #50 which means you can use injected views either as a factory function or as a constructor function
1. Fully refactored Geppetto. This simply means I merged the `Resolver` object into the `Context`. The separation made sense when we started out with the DI, but it had become a weird mess with some wire* methods hanging directly on the context others in resolver etc. In fact, two classes weren't necessary since they were tightly coupled anyway.

If you don't like any of this either cherry-pick the ones you do or let me know and I'll do it for you.