Updated the graph class to create a LUT for nodes by uid. This is created only when the graph has an UI created is is destroyed with the UI.
Changed the logic of the tooltip implementation to build the text dynamically on mouse over rather than statically when the DOM for the plugin is created. This has the following adantages:

* Only a compact identifier is now stored in DOM alt="" tags rather than the whole text. The identifier has the form <node uid as int> for nodes and <node uid as int>_[s|o][i|o]_<slot index|slot uid> for slots. This is used in conjunction with the newly added graph capability for fast lookup by uid to dynamically resolve the required data on the target object to create the info text dynamically in onShowTooltip().

That saves a lot of redundant strings lying around in the DOM and fixes the issue where dynamic or static slots declared as ANY was still shown as 'Arbitrary' in info, even though its type had changed dynamically. The info view now correctly reflects the actual data type of a given slot.
To make the behaviour of plugins during editing more consistent - without  placing additional burden of plugin authors - the Connection implementation has been updated to call the plugins .update_input() method (if any) with the default value declared by the destination slot (if any). This effectively reuses the existing .update_input() logic to enable automatatic reset of the relevant internal plugin state on slot disconnect. This reduces 'surprise' results due to stale plugin state and minimizes equally surprising changes in behaviour after save / load cycles.

This requires all input slots to declare valid "def" members of all declared input slots.
Fixed bug in the array plugin: The default value wasn't decorated properly, so dependent logic might break if no size has been specified.
Updated the color_display plugin to handle alpha correctly.
Better handling of info view display of default slot values.
Deep copy the slot-specified default value - we don't want to pass out references.
Updated slot defaults of the "action buttion", "alpha modulator" and "and modulator".
Updated the "array get as" modulator to sane slot defaults and to handle 'null' arrays, and fixed two bugs:

* Wrong if / else in update_input could overwrite the index with an array.
* Missing return statement lead to no output on slot #0 (array).
Updated the "array get" modulator to sane slot defaults, and to handle null arrays. Fixed a bug in update_inupt() that could lead to the index being overwritten.
Updated the "array item to bool / float / object / string / typed array" plugins to sane slot defaults.
Fixed typo in clone_recursive().
Updated the default value of the array get length modulator input slot.
Fixed input slot default values and null behaviour of the typed array set / set as plugins.
Fixd input slot defaults for the array to mesh / texture plugins.
Fixed input slot defaults for the assets signal completed / failed / started plugins.
Fixed input slot defaults for the audio "get current time" / "get duration" and "player" plugins.
Added fixed slot default to the bool display plugin and removed redundant connection_changed() implementation.
Moved the update_view method in the array get as plugin.
Fixed accessor value handling in the array set as plugin and removed spurious else if statement from both that and the array set plugin.