Set the current eval unit when loading

This allows the literate scheme file to use procedures like
`current-load-pathname`, which is useful if you want to load from a
relative path.
Extract `delimited-block` parser macro into parser-macros.scm

MIT Scheme requires that `*parser` macros are compiled before starting
to define anything that uses them; this means we have to define the
macro before the `(define (lp/render filename` line.  Because of this
restriction, it is common to put parser macros in a separate file,
`parser-macros.scm`, and then load that file at the start.

I want to include the contents of the macro in my literate program, but
in order to do that I would have to put it right at the start, which
doesn't make any sense in the context of the document.  I have chosen,
therefore, to put it in `parser-macros.scm`, and then copy the body of
the macro into the text inside a non-scheme delimited ``` block.
Finalise the `delimited-block` section

Implement `parse-latex-block` in terms of `delimited-block` and update
the surrounding explanation.  Also includes implementations of
`parse-matplotlib-block` and `parse-dot-block` (but not the actions they
perform).