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.
From memory, this was because user-generated SVG rarely has whitespace manually added (that's a lot of hassle to do by hand!), and so our output SVGs were horrible to work with.

I guess what we really need is an OPTIONAL "pretty printer" output for that case. Maybe add another library (must be a good XML formatter library that's open-source and ObjC - maybe even one in the Apple libraries?)