Fix issue with editing/reloading XML

When XML is saved and reloaded, images fail to display. This patch fixes the issue twice.

The issue was caused by the fact that SVGKImage.newLayerWithElement calls `[layer setNeedsDisplay]` if the layer has any child nodes. This apparently keeps layers with image content from displaying the image (thanks Apple). Normally <image> elements shouldn't have any whitespace, but Node.appendXMLToString adds newlines after every starting element, and always creates separate ending element tags. This is enough to create a text child within the <image> element.

There are two fixes:
1) Don't append newlines when outputting XML. Existing whitespace in Text children is already preserved and is sufficient.
2) Only count child nodes that create layers when deciding whether to return early in SVGKImage.newLayerWithElement; this prevents whitespace nodes from affecting the behavior.
libxml2 has an xmlwriter, and there are several good ObjC XML libraries out there. However I think that switching to one would be a rather major change and probably not appropriate for this pull request.

I understand that removing the newlines is a hassle for user-generated SVG, but on the other hand the current behavior can be considered broken. With the current behavior the generated SVG grows each time it's saved, in addition to the problem that the SVGKImage change fixes. I think the change is worth the hassle.

My opinion is that the change to remove newlines should stand as-is, and in the future a separate change could switch to a different XML library or to libxml2's xmlwriter.