Speed up Eshell smart display module

em-smart was forcibly re-displaying the screen upwards of 500 times
per screen of output.  This caused the Eshell to feel quite slow when
the module was in use.  By using fewer hooks and never explicitly
calling 'redisplay' (which was unnecessary) the performance issues go
away (bug#57367).

lisp/eshell/em-smart.el:

(em-smart-unload-hook, eshell-smart-unload-hook): Remove
'eshell-smart-scroll' instead of the now deleted
'eshell-refresh-windows'.

(eshell-smart-displayed, eshell-currently-handling-window)
(eshell-refresh-windows): Delete.

(eshell-smart-scroll-window): Rename to 'eshell-smart-scroll-windows'
and add a bunch of logic originally from 'eshell-refresh-windows'.

(eshell-smart-initialize): Don't add a hook onto
'window-scroll-functions'.  Replace 'eshell-refresh-windows' with
'eshell-smart-scroll-windows'.

(eshell-smart-display-setup): Don't refresh windows.

(eshell-smart-redisplay): Rename to 'eshell-smart-scroll'.  Delete
'eobp' case.
1 job for master in 2 minutes and 2 seconds (queued for 5 seconds)
Status Job ID Name Coverage
  Normal
failed #76208
test-lisp-eshell-inotify

00:02:02

 
Name Stage Failure
failed
test-lisp-eshell-inotify Normal
$ find ${test_name} ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} \) -type f -delete
find: test-lisp-eshell-inotify-e08238cd: No such file or directory
Uploading artifacts...
WARNING: test-lisp-eshell-inotify-e08238cd/: no matching files
ERROR: No files to upload
Uploading artifacts...
WARNING: test-lisp-eshell-inotify-e08238cd/junit-test-report.xml: no matching files
ERROR: No files to upload
ERROR: Job failed: exit code 1