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.
This change is subtle and yet important.

Please add a code-comment  approximately here something like:

"If none of the child nodes return a CALayer, we're safe to early-out here. But there are some nodes (e.g. whitespace) that appear as children, but don't affect the CALayer stack, and we need to filter them before making that decision"

Also, would be much better to rename "childCount" to "childrenWhichGenerateLayersCount" or similiar: make it explciit that it's a special count, otherwise someone is bound to replace it with node.childCount or similar in future, and break this :)