anchor.diff:     (width :initarg :width :accessor widget-width)
      (height :initarg :height :accessor widget-height))
     (:default-initargs :x 0 :y 0
  -                     :cursor-x 0 :cursor-y 0
  +                     :cursor-x 0 :cursor-y 0 :line 0
                        :foreground (make-colour *default-foreground-colour*)
                        :background (make-colour *default-background-colour*)))
   
  
positive.code:   (sys.gray:stream-line-column (text-window-display stream)))
  
  (defmethod sys.int::stream-cursor-pos ((stream text-widget))
    (values (cursor-x stream) (cursor-y stream)))
  
  (defmethod sys.int::stream-cursor-pos ((stream text-window))
    (sys.int::stream-cursor-pos (text-window-display stream)))
  
negative.code: (defclass text-widget (sys.gray:fundamental-character-output-stream)
    ((cursor-x :initarg :cursor-x :accessor cursor-x)
     (cursor-y :initarg :cursor-y :accessor cursor-y)
     (line :initarg :line :accessor cursor-line)
     (foreground :initarg :foreground :accessor window-foreground-colour)
     (background :initarg :background :accessor window-background-colour)
     (framebuffer :initarg :framebuffer :reader framebuffer)
  