How IPython works document

With apologies to @drocco007 and @olgabot, this is my take on what the 'How IPython works' document should look like. I deliberately haven't based it on PR #6141, because that includes some extra images that I don't think should go in the repository, and going back and removing them from history would be a pain. So this is an independent attempt at the same material. If we do decide to merge this one, we should make sure both Daniel and Olga are credited in the release notes.

I've deliberately kept the description quite short, because I think people are more likely to read it that way. I've had a go at drawing the diagrams, but I freely acknowledge that I'm no great artist. It would be good to get some people less familiar with the project to read through this and see what is and isn't clear, but that can be done post-merge.
This sentence is ambiguous: "Native kernels are likely to be better maintained by the community using them"... you don't mean that native kernels are better maintained than wrapperkernels, do you? Or they are better maintained than those by developed by a community not using them? Anyway, why the speculation on the quality of native kernels? 

Maybe you just mean "native kernels are often written in the same language as that being hosted"?