qt gui: QEnvelopeView, enhance node selection and movement
Features:
* allow multiple node selection
* add the -elasticSelection flag that controls whether the relative
node positions within selection can change when selection is moved
to adapt to the obstacles (view bounds and other non-moving nodes)
Fixes:
* when the -keepTimeOrder flag is true, always ensure time order, as
opposed to only when nodes are moved.
* fix rounding values to grid near view boundaries, when bounds are
not a multiple of grid spacing
* make selecting index -1 deselect all
* fix setting properties of individual nodes - setting would wrongly
fail at index 0.