Allow resuming recording sly-stickers recording playback

Also improve UI.

* contrib/sly-stickers.el (sly-stickers-shortcut-mode-map): Add a binding
for `sly-stickers-forget'.
(sly-stickers--replay-map, sly-stickers--replay-help): Allow
jumping stickers. Use `:next' and `:prev'.
(sly-stickers--replay-state): Don't store state index. Store state
error.
(sly-stickers--replay-prompt): Display state error, if any, to the
user. Improve UI.
(sly-stickers--replay-read-binding): Allow jumping.
(sly-stickers--replay-fetch-next): Renamed from
`sly-stickers--replay-next-state'.
(sly-stickers--replay-last-state): New variable.
(sly-stickers-replay): Redesign to allow jumping and resuming.
(sly-stickers-forget): New command.

* contrib/slynk-stickers.lisp (:slynk-stickers): Export
SEARCH-FOR-RECORDING, not VISIT-NEXT
(recording): Slot name ID is now INDEX.
(*next-recording-id*, *recordings-by-id*): Remove variable.
(abort-search): New condition class and function.
(search-for-recording-1): New helper.
(describe-recording-for-emacs): Use INDEX-OF.
(describe-sticker-for-emacs): Improve docstring.
(search-for-recording): Renamed from VISIT-NEXT and handle errors.
(forget, find-recording-or-lose): Don't use *RECORDINGS-BY-ID*.