UI for changing kernels in the notebook

![screenshot from 2014-07-12 16 17 31](https://cloud.githubusercontent.com/assets/327925/3562815/06a722ae-0a0a-11e4-93ee-02865c9145bb.png)

When you change the kernel, the old kernel is killed, and a new one created according to your selection.

Further plans, either for this PR or a subsequent one:

- Embed kernel spec info in the notebook, and refer to that when loading a notebook
- Change syntax highlighting according to the kernel selection
- Use icons as well as names for kernels
- Make ordering of kernels in the list deterministic
I cleaned up a few things in [another PR](https://github.com/ipython/ipython/pull/6145) and found out that the style function is mostly never usefull. If the button as a `selector` than it can be used in css to style, ad also it prevents FLOUC. So I woudl suggest removing this function.