Correctly copy all information in an event

Instead of trying to use add_event() to reinsert events we simply copy the
memory and adjust the pointers.

Using add_event() lost the gas mix and gas index information on gaschange
events - and this prevent switches between cylinders with the same gasmix
to be rendered correctly.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>