Designate some dependencies as optional

Split `requirements.txt` into two files:

* requirements.txt
* requirements-optional.txt
Merge pull request #871 from Ichimonji10/requirements

Designate some dependencies as optional