Fix bug when parsing newlines

Newlines would come in as \r\n which would cause errors. The input is now
sanitized to use universal newlines: \n
Add highlighter class to handle code highlighting

This raises appropriate errors and takes care of an input problem, all while
keeping a simple interface to the controller.
Show an error in the code output if Highlighter throws one