[FEAT] (Dashboards) New "eachValuesArray" method for enumerating the commonly used values array.
[FEAT] (Dashboards) New "parseMultipleValues" method which contains common logic for parsing a parameter value into its multiple values.
[FEAT] (InputBaseComponent) New "#_getParameterValue" method which contains a many times repeated pattern of getting and evaluating the value of a component's bound parameter.
[REF] (SelectBaseComponent) Refactored the code. Also, in #draw explicitly declared local variable "selectHTML" and removed unused variables "hasValueSelected", "isSelected".
[FIX] (SelectBaseComponent#draw) A bug where the firstVal variable would remain undefined, despite existing at least one valuesArray element.
[FIX] (SelectBaseComponent#draw) The whole currentIsValid determination was erroneously validating possible values (valuesArray) against the currentValues, instead of the opposite.
[FIX] (SelectBaseComponent#draw) When !defaultIsEmpty and no currentValue existed an parameter change would be fired despite the assumed default value would be empty as the initial one.
[FIX] (SelectBaseComponent#draw) Normalized the empty/invalid condition for assuming a default value accross the multiple and non-multiple cases.
[FIX] (MultiButtonComponent#draw) A NPE bug that could occur if the current value was «null».
[FIX] (input.js) Some other inadvertently global variable fixes and small code cleanup/refactoring.
[FEAT] (Dashboards.equalValues) New method abstracts the logic required to compare CDF parameter values, whether they are multiple or not.
[FEAT] (SelectMultiComponent changeMode) Added options changeMode and changeTimeout, applicable whrn isMultiple is true.
    The default changeMode is 'immediate' and corresponds to legacy behavior.
    The new changeMode is 'timeout-focus' and waits for a given time before considering a change, a change.
    Care was taken to support Android and iPad/iPhone. In this devices, the immediate mode is used, cause they already show a popup that allows the user to make multiple choices.
    Yet, the code now guarantees that a change is only signaled when the user dismisses the popup.