Infer width and height from viewBox

Some SVG editors and exporters do not include the `<svg>` "width" and "height" attributes.
e.g.
```xml
<svg version="1.1"
         xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
         x="0px"
         y="0px"
	 viewBox="0 0 104 144">
...
```
SVGKit currently will not render these files. We found that Adobe Illustrator exports files like this if you check the "Responsive" option when exporting.

Additionally, some editors and exporters set percentages as their "width" and "height" values to indicate a relative size at which to display the image to a browser. e.g.
```xml
<svg version="1.1"
         xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
         x="0px"
         y="0px"
         width="100%"
         height="100%"
	 viewBox="0 0 104 144">
...
```

SVGKit currently crashes when rendering these files. We've found that Inskscape saves files like this when saving as "SVG Plain".

This change ensures that:
- Percentage `width`s and `height`s are ignored
- If no `width` and `height` attributes are present, we simply grab the values from the `viewBox` attribute.
Better than this would be to add a non-spec method e.g. "-(BOOL) canConvertToAbsoluteValue" which returns false when the length is a percentage AND there is no parent-value for it to resolve against.

Otherwise, you're throwing away core spec features (SVGLength is a multi-type string, not a number), and making it harder to replace your code with a correct version in future.