* lisp/play/zone.el: Multi-window and -frame support.
(zone): New group.
(zone-buffer-name): New constant.
(zone-add-program, zone-remove-program): New functions.
* : User configuration
(zone-all-frames, zone-all-windows-in-frame)
(zone-delete-other-windows): New boolean options.
(zone-time-elapsed-while-zoning): New var.
(zone-start-hook, zone-finish-hook): New hooks.
* : Preserve frame configuration
(zone-frame-configuration-alist): New Alist of cursor type and
window configuration per frame.
(zone--save-frame-configuration)
(zone--restore-frame-configuration)
(zone--restore-all-frame-configuration): New internal functions to
restore windows and frames.
* : Rewrite/modularization of zone logic
(zone): Refactor function.
(zone--buffer-empty-p, zone--buffer-encrypted-p): New functions.
(zone--choose-window-and-buffer): New function.
(zone-ignored-buffers, zone--buffer-zoneable-p): New var and function.
(zone--build-zone-buffer): New function to create zone buffer.
(zone--prepare-frames): New function to configure multi-frames and -windows.
(zone--apologize-seconds, zone--apologize-for-failing): New var
and function when zone fails.