Fixes #44.
Objects that can be a part of an union or interface should return __typename as string.
Returning resolvers from other resolvers isn't supported anymore. Since we have a type system now, we define the resolvers in the object type fields and pass an object with the previous result to them.