Fix issue #34, set velocity from internal keyboard to mid range = 64

* Applies both to notes played on the keyboard and from the arpeggiator.
* We use 32768U, as UINT16_MAX>>9 yields 63 instead of 64, and there's
  no other nice symbolic way to say 'half of UINT16_MAX+1'.
Part of fix for issue #33, added MIDI reception of hold pedal

* Move VCA env fast/slow parameter to end of stepped parameter list
  to make room for hold pedal CC (64).
* Just a stub for the actual hold function for now.
Rest of fix for issue #33, implemented hold pedal in assigner
Added 'gated' property to assigner

* This way we can avoid sending gate off to voices that are already gated
  off.
  - Shouldn't really make a difference, but seems conceptually more sound.
Fix issue #38, max velocity spike when releasing keys

* If >= 8 keys are pressed, there will be a max velocity spike when a key
  is released and the assigner attempts to reassign with the intent of
  finding a key that is presed but which no voices are playing, and
  assign it.
* The reason is that in the loop after the block in which restoredNote
  is set, if there is no voice corresponding to the key just released
  (such as when releasing #1 of 8 keys pressed; the voice corresponding
  to the #1 key will have been stolen so that there is no voice playing it),
  the loop attempting to gate off the voice or find an oldVel for the
  new allocation, will terminate without oldVel being changed, which
  causes it to be remain at the default UINT16_MAX.
When restoring note, set legato also when not in mono mode

* This is really also part of the fix for issue #38, as restored
  notes should not be retriggered but just be gated on with legato.
Cleanup in assigner_assignNote
Merge pull request #39 from polluxsynth/release

Fixes for #33, #34 and #38