JS: add an abusive PreferredUnit input to each unit type for use in OutputViewer

Create a single Input that is shared by all units of the same type, when set, this unit
will be used to display all numeric outputs in the Outputviewer.

Care should be taken to note that only one Input object is created per Unit classs
and then added to each instances input hashmap.

Be careful out there folks.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: move the private static state in Unit next to the only two accessors

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: update version to 2013-40

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