interpret args as UMaps if possible

this allows for the following syntaxes:

UChain( [ 'sine', [ 'freq', [ 'lfo_sine', [ 'freq', 3, 'range',
[440,880] ] ] ] ], 'output' ).gui;

UChain( [ 'sine', [ 'freq', 'lfo_sine' ] ], 'output' ).gui;

x = UChain( \sine, \output );
x.gui;
x[0].freq = \lfo_sine;
x[0].freq = [ \lfo_sine, [ 'range', [440,880] ] ];