fix error in Call(callable) test case.

apparently the issue was hidden by Python 2 scoping rules, but the
test failed with Python 3.
use offset() instead of NoDataOffset()

NoDataOffset is only needed in places that are evaluated before
calling config(), e.g. at module import.
allow port/channel of Output() to be omitted
Try to use setuptools, fall back to plain distutils
Add encoding declaration to allow non-ascii chars in metadata
Ensure compiler output is in C locale

...so that library dirs can be parsed reliably.
normalize library dir paths.
convert images to indexed colors
add some more examples to documentation

* show different sysex notations.
* add image for CtrlRange().
print actual sysex data value that's out of range

previous error messages were not as helpful as they should be.