Switch dependency from PyUserinput to PyMouse
Update README.
Only load PyMouse if we're going to use it

Load PyMouse in the pymouse input driver generator so that it's never
loaded if it's not being used.

This is necessary because some versions of PyMouse will freeze for up to
30 seconds at import time due to an interaction with a PyObjC bug
(specifically, PyObjC uses a lazy loader that is very slow when its
packagages' contents are loaded with the form `from ... import *`, which
is exactly what PyMouse does).

Also, surround the import with logging statments so the user hopefully
has at least some feedback if the program hangs during the import.
Convert README hyperlink from md to RsT.