evlist is a nifty event list system I whipped up for this project, but it
appears to be generally useful.  It's nice because it splits devices into
low-level and high-level components, which can be mixed and matched as
desired.  The low-level stuff connects to the actual device (which of course
can be a child process, a file, a serial port, nothing, or whatever you wish).
You provide the high-level code to do all the protocol handling.

evlist is used by ss-core, ss-hw, ss-gui, libargus, and argusd.

The documentation is spotty.  Sorry about that.  Use the source.

I encourage you to use evlist in your own projects.  Adapt it until it works
for you.  I'd appreciate it if you sent me any ideas, patches, or bug reports.
