Reversing GUIs to XIML Descriptions for the Adaptation to Heterogeneous Devices