set matplotlib as optional, since its dependency can't be installed by pip