Ignore adding a window if it's already present

If a window is added and it's already in the compositor's
window list, then it won't be added again. This was causing
strange behaviour in the compositor (windows and panels
disappearing).