External CSS Option for SVGDocument

Added External Cascading Style Sheet Option to SVGDocument.
Precondition test simplification
Precondition test simplification
Removed Trim() condition to allow for whitespace strings
Merge pull request #93 from erdomke/master

Initial Filter, Svg Font, and Text on a Path Support
Merge pull request #98 from sschurig/master

External CSS Option for SVGDocument
merged
Fixed up empty string fix
Inverted test
minor flog
Merge pull request #99 from skyguy94/FixForNullPath

Fix for null path
Performance Improvement

- Because querying the Bounds property of an ISvgBoundable or
  SvgVisualElement is expensive, we introduced an ImmutableBoundable that
  is used by the SvgRenderer. This class stores the bounds of the supplied
  ISvgBoundable so that multiple queries for the bounds do not hamper
  performance when rendering.

- Converted the Bounds property on ISvgBoundable and SvgVisualElement to a
  CalculateBounds method to indicate that it is an expensive operation
  that returns a new value each time it is called.

- Removed redundant ISvgBoundable Location and Size properties.

- Fixed a bug in SvgFragment.Path property by converting it to a method that
  indicates it returns a new GraphicsPath instance when called and by
  disposing of that instance in CalculateBounds. There are many more
  instances of GraphicsPath not being disposed in the code base but we did
  not address that here.
Merge pull request #97 from articulate/BoundsPerformance

Performance Improvement
Revert "Performance Improvement"
Merge pull request #100 from vvvv/revert-97-BoundsPerformance

Revert "Performance Improvement"
fixed invalid font size unit comparison
changed the default MatrixOrder to Prepend (instead of Append)
Merge pull request #101 from sunsided/feature/font-size-comparison

fixed invalid font size unit comparison
fixed NullReferenceException when _styles is not set
fixed NullReferenceException in TryGetAttribute when _styles dictionary is not set to a valid reference