Support simulating timeStamps on events

When a touch event info has a timeStamp defined the event simulation is done through the event manager instead because it's not possible to change the timeStamp of a browser event.

In order to get around this limitation a fake event is created and sent directly to the event manager to be dispatched.
Only log the next event in the timeline if it exists
Add timeStamp support to fireEventsOnTimeline

When given this option in the eventInfo the timeStamp of the events will be faked with the time defined in the timeline.