A single commit for a couple changes:

* Add displayDyn, which allows manipulating the functions used to
  convert items into Display in ways that would be impossible or
  at least ackward with IHaskellDisplay.
* Add displayChan, which allows sending Display items as a
  side-effect. ihaskell-rlangqq uses that feature.
* Add mode convert that handles ipynb <=> lhs. Split into multiple
  files with very explicit imports courtesy of "module-management".
* Alternative build.sh
* JSON is defined over text, not bytes, so use Text in the
  ipython-kernel. IPython rarely calls encode(self,'utf-8'),
  so we should also have encoding done once only by the json parser
  itself too. This allows building with aeson 0.6, though to use
  that version you cannot use the following packages which require
  aeson >= 0.7

      ihaskell-aeson
      ihaskell-charts
      ihaskell-diagrams
      ihaskell-rlangqq