redesign documentation and cleanup docstrings

Several elements from the new documentation have been inspired or
outright stolen from Plumbum's excellent landing page.
Pick up evdev headers from correct location on FreeBSD.

This commit is part of Jakub Klama's work on bringing evdev support into
the FreeBSD kernel.

Author: Jakub Wojciech Klama <jceel@freebsd.org>
Fix ioctl() requested buffer size - it should be specified in bytes not bits.

This commit is part of Jakub Klama's work on bringing evdev support into
the FreeBSD kernel.

Author: Jakub Wojciech Klama <jceel@freebsd.org>
Remove usage of linux-ish data types.

This commit is part of Jakub Klama's work on bringing evdev support into
the FreeBSD kernel.

Author: Jakub Wojciech Klama <jceel@freebsd.org>
bump version to 0.4.6