Fix warning in dbopl.cpp
Warn when playing missing instrument

Mark instruments with peak amplitude <0.5 as having no sound.
Log a warning when one of these is played.
gen_adldata: Replace missing instruments with 0
gen_adldata: Avoid conflicts between melodic and drum banks

In some of the bnk files (eg: Int) the percussive and non-percussive
instruments are detected wrongly resulting in the melodic bank
being overwritten by drum instruments. I noticed this while listening
the Descent level 3 music with the accompanying intmelo bank.
Pass the percussion flag into LoadBNK explicitly.
Fix off-by-one error in MIDIsymbols
Add some extra drum symbols in midiplay.cc
Move midi event handlers to separate methods

Add separate methods for NoteOn, NoteTouch, and so on.
This makes it easier to separate the midi file playing and event handling.
Split MIDIeventhandler and MIDIplayer

- MIDIeventhandler handles MIDI events and drives the (virtual) OPL
- MIDIplayer opens and plays back MIDI files and sends events to a MIDIeventhandler.
Also TidyUpAndExit on SIGTERM
Remove DJGPP support
Move UI and MIDIeventhandler to their own files
Move ChooseDevice to midiplay.cc

Other users of MIDIeventhandler can manage channels and channel offsets
themselves, if necessary.
midievt.cc: Clear midi channels in Reset()
midiplay.cc: Clear devices, choose device in LoadMIDI

Do this *after* loading a new file and resetting the event handler.
Move bulk of MIDI handling to midievt

Make specific handlers private.
Input interface just accepts MIDI events.
Remove instrument tester from midiplay.cc

Will move this to a new implementation file
midiplay.cc: Remove duplicate header "fraction"

It was included twice.
Move audio output and argument parsing to their own files
Create adlseq: ALSA midi frontend
Makefile: Add -lasound dependency to LDLIBS