Fix focus stealing for changing desktops/Use timestamp for user input events
Change the logic for when to allow stealing focus across desktops.
- It was possible to call event_time_after() with a CurrentTime in the old code.
- It would disallow a user requested change which is crazy.
- It would change desktops on you when a new window appeared but this is
generally not desirable.
event_source_time() is supposed to give the time which the user made things
happen. we leave it at 0 for user-input events right now which means stuff like
changing desktop doesn't save any timestamp at all. we should use the
timestamp from x for user-generated events.