dix: Correctly save replayed event into GrabInfoRec

When processing events we operate on InternalEvent pointers. They may
actually refer to a an instance of DeviceEvent, GestureEvent or any
other event that comprises the InternalEvent union. This works well in
practice because we always look into event type before doing anything,
except in the case of copying the event.

*dst_event = *src_event would copy whole InternalEvent event and would
cause out of bounds read in case the pointed to event was not
InternalEvent but e.g. DeviceEvent.

This regression has been introduced in
23a8b62d.

Fixes xorg/xserver#1261

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
4 jobs for dix-fix-replay-event-copying in 3 minutes and 4 seconds