add app consideration to visicon reset

Resetting a visibility context to some passed in state means altering
the geometry of any windows in the context to match selected windows in
the state parameter.  Previous behavior was to only match windows if the
ids matched - this means the same window was open before, but the screen
changed back and forth.  The new behavior checks for this first, but if
the ids are not found matches windows that have the same app as well.