Add a new option, :emphasize-lines:, to the source-code and
literal-include directives. The format is the same as the :lines:
option for literal-include. The resulting list of lines is passed to
the Pygments formatter as 'hl_lines', which is only honored by the HTML
formatter.
For the HTML and LaTeX writers, if 'highlight_args' is set on
a literal_block node, this is taken as a dictionary of keyword arguments
to pass to PygmentsBridge.highlight_block. This allows custom
directives to directly set formatter options.
In Pygments.highlight_block, pass all extra keyword arguments, including
linenos, directly to the Pygments formatter. This allows custom
directives to use other Pygments features.
Previously, we pre-constructed two different formatters, one with line
numbers and one without. This made the code rather confusing and also
was not scalable for options that take arguments, such as 'hl_lines'.
Now, we construct a new HTMLFormatter or LatexFormatter on each call to
highlight_block().