anchor.diff:  (defun suspend-graphics ()
     (setf *read-input* nil))
   
  -(defun register-screen (name framebuffer)
  +(defun register-screen (name framebuffer backbuffer flip-function)
     (push (cond (*screens*
                  (make-screen :name name
                               :framebuffer framebuffer
  +                            :backbuffer backbuffer
  +                            :flip-function flip-function
                               :relative-position (cons :left-of (first *screens*))))
                 (t (make-screen :name name
                                 :framebuffer framebuffer
  +                              :backbuffer backbuffer
  +                              :flip-function flip-function
                                 :relative-position :centre)))
           *screens*))
   
  
positive.code: (defstruct screen
    name
    framebuffer
    relative-position)
  
  (defvar *screens* '())
  
negative.code: (defun compose-all-displays ()
    (when *screens*
      (let* ((screen (first *screens*))
             (fb (screen-backbuffer screen))
             (dims (array-dimensions fb))
             (width (second dims))
             (height (first dims)))
  