\processdelayedfloats should restore the re-defined environments

Since \efloat@restorefloats is used in \processdelayedfloats inside a group, its effect is only locally, needed for \efloat@processfloats to work correctly.

But I think it would be a good idea to re-define \processdelayedfloats to \relax and to restore the environments globally since having \processdelayedfloats multiple times in a document results in both undefined behaviour and unwanted behaviour.

So a new definition of \processdelayedfloat could look like this:

 \newcommand\processdelayedfloats{%
   \let\processdelayedfloats\relax
   \efloat@restorefloats
   {\def\baselinestretch{1}\normalsize
    \processdelayedfloats@hook
    \efloat@processfloats
    \processotherdelayedfloats}}

If this is not an option (compatibility reasons?) there should be at least a documented user command which restores the re-defined environments, for example \restoredelayedfloats:

\newcommand\restoredelayedfloats{%
  \efloat@restorefloats}

BTW: \efloat@restorefloats already existed in v2.4i of the endfloat package. So it should neither be changed nor renamed, instead \restoredelayedfloat should just be a wrapper macro around \efloat@restorefloats.