make UChain set u_dur on every unit that has it

this way also units that can't end the chain still can know it's
duration.
improve pattern support

it is now possible to address specific units using a '<index>:<key>'
format. I.e. '0:freq' sets the freq of the first unit. The unit
specific args will overwrite the normal ones if they are there.
move isFinite to UEvent, simplify finiteDuration

this (also) allows writeAudioFile to work for single UChains
first go at EnvView

EnvEditView and EnvView are not working yet, EnvPlotView is.
UEnvGen
UEnvGen  - more tweaks

remove \u_doneAction
make Line versions modulatable.
UEnvGen : add controls for lines, add examples
UEnvGen add copyright notice
use ScaledUserView for EnvPlotView
EnvPlotView improvements
optimization and corrections EnvPlotView
add TriggerSpec

can be used for trigger (.tr) controls. The gui creates a button that
lights up red when used. TriggerSpec can also hold another spec which
defines the range of values to be used. if not nil the gui will also
create a view for that spec.
krSpec: define spec from Synthdef
UEnvGen refine controls, scaling factor
finishing up EnvView

example:
x = EnvView( env: Env({1.0.rand}!10, ({1.0.rand}!9).normalizeSum * 10,
0 ) );
small tweak to EnvEditView
UEvent:renderNumChannels can now be a function

this enables WFSCollider to check the current previewMode and return
numChannels accordingly
adding range slider to EnvView
fix document opening for SCIDE, thanks Marije!
larger DragSink for adding Udef to empty chain

or to end of chain