highlight: cell metadata to decide how to highlight foreign languages

* Remove magic language detection from highlight filter, and
  replace it by a lookup in the cell metadata.

* The highlight filter now expects a full Cell object instead
  of the Cell input.

* Modify templates so they pass a full cell object.

* Update highlight filter tests
Add HighlightMagicsPreprocessor

HighlightMagicsPreprocessor is in charge of detecting
cells that use language extensions. It tags the cell
metadata with the language used.

Enable HighlightMagicsPreprocessor by default on
latex and html exporters.