JACK output plugin

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
jack: more C99, some cleanups, configure & warning fixes

While at it, change `op_priority` of both ARTS and JACK.
Remove -Wdeclaration-after-statement from configure

Most people (myself included) seem to prefer modern C style.
jack: fix underrun handling issue introduced in ed5234bbc
adds fast path when samplerate matches jackd's samplerate
exposes libsamplerate conversion quality to user
removes op_jack_drop code as it does not work correctly.

The channels where getting out of sync when drop was called. The
underlying problem is, that can only keep the channels in sync, when
op_jack_cb is the sole consumer of the ring buffers.

If we set a flag and clear the buffers in op_jack_cb, op_jack_drop
returns immediately and new data is written by op_jack_write while or
before (or after) the buffers where cleared. Result is the same as just
dropping the ring buffers.

Returning -OP_ERROR_UNSUPPORTED works fine, just seeking is not as
responsive (but without gaps :)
adds error calback and better cleanup on exit
coding style
Merge pull request #119 from nefthy/jack-fixes

Jack fixes
Add min buffer size.

Buffer size is calculated based on the jackd's period. When the period
gets small, the calculated buffer size does not work well with cmus,
causing dropouts. This commit adds a minimum buffer size of 8192, which
seems to work well.
modify BUFFER_SIZE_MIN to 16384

8192 is drops when running with a powersave governor
fixes buffer overflow and channel position tracking

samples might actually be less than the lag. If that is the case, a
bufferoverflow occurs.

position tracking was also brocken, as it compared the bytes read and
not the current channel position.
Merge pull request #121 from nefthy/master

jack: add min buffer size.
Merge pull request #122 from nefthy/jack-underun-buffer-overflow

jack: fix buffer overflow and channel position tracking
rename convertion_quality to resampling_quality

also makes config indexes explicit
add documentation for jack OP config
fix comma and missing but
fixes #124 clear buffers when drop is called

op_jack_drop sets a flag and waits till buffers are dropped in
op_jack_cb. After that it returns control to cmus.

Also the under-run code is made unnecessary by just pausing for one
period (~0.02 seconds with jack params -p 1024 -r 44100) when there is
not enough data in the buffer. Recovery is faster that way. There are
less audible artifacts and the code is prettier.
Merge pull request #125 from nefthy/jack-doc

Jack doc