General SVG backend cleanup, additional documentation, and new API function

A bunch of improved documentation, hopefully making the SVG backend friendlier and easier to use.  Also added a new function `renderSVG :: FilePath -> SizeSpec2D -> Diagram SVG R2 -> IO ()` for directly rendering SVGs without making a standalone executable via `defaultMain`.