Internally, for every event generate a UserRegionEvent object and pass that to the recorders rather than the ScenePresence and other OpenSimulator structures directly.

This is not strictly necessary at the moment but is required for the next step of queueing events for writing by another thread
In order to make sure we never hold up the event threads