When an error occurs, it is recorded in this state variable and no further
errors are recorded. Reading errors returns the currently recorded errors
(there may be more than one due to a possibly distributed implementation) and
resets the state variable to [], re-enabling the recording of future
errors. The value [] means that there has been no detectable error since
the last time errors was read, or since the GL was initialized.