update the syntax highlighter

handles templates much better, but still not perfect. Need to work on
template specialization parameters in particular.