improve snapping in agg backend
Fix a number of snapping issues.  Incorporates ideas from #800 (see there for further discussion) and #1591.  This, unlike #800, doesn't change the snapping in a fundamental way, but it does help with text/image/marker alignment of snapped and non-snapped objects.
Add a test based on @pelson's example in #1591.
Fix #1799: path collections with NaNs in the path cause exceptions in vector backends.
Merge pull request #1800 from mdboom/agg_snapping2

Agg snapping fixes (for the last time...?) :)
Merge pull request #1799 from mdboom/issue1799

Corrupt/invalid PDF and EPS files when saving a logscaled plot made with negative values