code: func Deinit() {
  	wait := make(chan interface{})
  	Queue(func() {
  		termbox.Close()
  		focus = nil
  		prevFocus = nil
  		windows = make(map[int]*Window) // toss all windows
  
  		rawMtx.Lock()
  		termRaw = false
  		rawMtx.Unlock()
  
  		wait <- true
  	})
  	<-wait
  }
docs: // Deinit switches the terminal back to cooked mode and it terminates managed
  // window mode.  Init must be called again if a switch is required again.
  // Deinit shall be called on application exit; failing to do so may leave the
  // terminal corrupted.  If that does happen typing "reset" on the shell usually
  // fixes this problem.