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.
AFAICS these are not "only used when rendering in HTML" - they are also used in *all* SVG rendering, in any situation where the document is embeded in another SVG, or in a predefined viewport area (e.g. the iPhone's full screen)