Changed logic for legends.

Files Effected:
===============

exporter.py
-----------

- Legend context only opened if `legend is not None`
- Legend contents drawn only if `legend.get_visible()`

test_basic.py
-------------

- Added legend test where legend is not visible. This causes the legend
context to open and information to be passed to renderers. However, no
SVG draw commands are issued because nothing should be drawn.

utils.py
--------

- Passes both `ax` and `legend` to `get_legend_properties` and now
includes a `visible` key in the `props` dict.