[WIP] @1aurabrown => Switch View

I'm holding off on calling this "done" because of this (serious) problem with our testing suite: https://github.com/artsy/eidolon/issues/52

However, it's in an OK place to start a code review. 

Also I added in an Objective-C category taken from eigen. I'll probably swiftify it at some point. 
I made them explicitly `public` only because I have explicitly `private` ones I don't want others touching. I can remove the `public` if you like, but `private` ones below should remain.