Modified cache API to include index and child count rather than children
The original cache API was problematic for QT AT-SPI because it forces enumeration of all children, preventing lazy instantiation of objects. The API now sends the object's index in parent and child count (or -1 if not known / children should not be cached) rather than an array of children. Also made cache of children a GPtrArray rather than a GList, since it may contain holes. If an object has not yet been instantiated for a particular child, then its value will be set to NULL, and atspi_accessible_get_child_at_index will make a dbus call to fetch the child, at which point it will be cached.
Showing with 140 additions and 95 deletions