improve performance in simplexml

When casting a SimpleXML element to boolean, we're only concerned with
the object having an XML node, or having properties. There is no need
to build the entire the entire element tree for that node. If the program
needs those further down the line, it'll get handled by a ToArray call.

This prevents excessive amount of object creation when all your program
is doing is loading SimpleXML strings and doing read/toBool operations.

Before: http://i.imgur.com/TFFj97u.gif
After:  http://i.imgur.com/3kNpwIM.gif