Making basemap optional

This PR adds a couple `try/except` statements to get pyproj either directly, from basemap, or raises an `ImportError` explaining as much.

As far as I  can tell, this allows basemap to be an optional package.