JS: Add new icon for Duplicate

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Enable texture coordinate wrapping

Signed-off-by: Matt Chudleigh <matt.chudleigh@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: add an explicit entry point for when we want a new Process to process Events

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: pull out a kill() helper in ProcessTarget

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: try to get errors out when a conditional thread reenters the EventManager

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: add missing assertion in the startProcess path for calls in a conditional context

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: inline the called-once removenode function

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: introduce a getEvent method similar to the getEventNode method

Preparatory patch to add object pooling here.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: add a freelist for the Event structure

These object, like the EventNodes, can be allocated and destroyed at a very high
rate, introduce a freelist to allocated from.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: remove Event from the calling convention for Event tracers, pass explicit args

This finally allows Event to be made package private.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: hide the implementation of Event and ConditionalEvent, they are internals

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>