MDL-46646 gradebook: Optimise generation of the grader report table

The grader report table makes use of various user preferences, and strings
which on every iteration. On a large gradebook, this can have a significant
impact upon performance.
The table also uses html_writer::tag to generate spans for
machine-generated content which becomes expensive on larger gradebooks.