Display BUFFER in an existing window.
Search for a usable window, set that window to the buffer, and
return the window. If no suitable window is found, return nil.
If ALIST has a non-nil `inhibit-switch-frame' entry, then in the
event that a window in another frame is chosen, avoid raising that frame.