Fix #18:

When reading ICY streams, metadata chunks are inserted into encoded
data.

Because of this, the reading function had a state, used to parse out
ICY data from encoded data. When I wrote the mutex thing, I was not
careful enough and changed this to make a fresh call to read each
time. This ended up messing with metadata chunks parsing, thus
allowing for some of this data to slip into encoded data, which the
decoder didn't like.
Add mux_stereo

By the way, clarify mux operator descriptions (fix issue #20) and factorize
code for adding an integer to an arity type.
Add support for image decoders.

Thanks to this, we can now use any image in video.add_image as requested
in #25.
Merge pull request #27 from savonet/image-decoder

Add support for image decoders.
Split http and harbor input socket mutex into get and set mutexes. Use them appropriately. Also cleanup harbor's disconnect code.
Always call set_state null when set_state raised an exception.
Remove support for ufetch.

ufetch was a nice idea but it hasn't been maintained for ages and is not
part of the current git...
Moved bugtracker to github.
Rewrite gstreamer.input.* to not be blocking..
Upgrade dependency on ocaml-taglib.
Merge pull request #29 from savonet/non-blocking-gst-input

Rewrite gstreamer.input.* to not be blocking..
Update dependencies for mm an gstreamer.
We're not ready if an error happens on get_device.
Precise time unit for grace time.
Fix bug in taglib decoder where no tag would show up when year/date wasn't set.
Make gstreamer input a regular (non active) source.
Improve documentation.
Update changelog.
Prioritize changelog.
Added play/pause telnet/server commands for input.gstreamer.*