Reading komponent height/info from widget tree

@Frank, please consider allowing reading information of other komponents in a formula.

There are many cases where this will be useful. For example, getting the actual height of a multi-line text komponent will allow us to set the height of a rectangle shape komponent to serve as background, or introduce gradual colour changes by having komponents modify their colour based on some reference komponent elsewhere in the widget.

As-is, the si(mindex) function only allows getting an absolute index up/down the widget tree but not other parts of the tree nor additional information.

A theoretically workable approach would be to:

1. Allow parsing of xml in a variable :)

2. A function to expose the widget tree as xml. Something like the exported text in json when we copy a komponent but in xml and with extra information (like actual height, width, colour, text etc.)

3. A function that returns the current XPath of current komponent so that we can start the navigation up/down the widget tree from the right place.

So wg(si(mtree), xml, si(mxpath)+"/../Text/@Height") would get the sibling Text komponent's height, wg(si(mtree), xml, "//Shape[@name="Main"]/@Color") would get the colour of a Shape komponent named Main etc...

Personally I'd prefer json syntax but foresee difficulty in navigating up/down the widget tree using json but if you have something better in mind I'm all for it.

And if you can allow modifications to the widget tree that will be even more fantastic: imagine importing a xml fragment (from file/internet/tasker variable) and dynamically create a component at the right place!