atspi: enhance finding the first,last obj
There are two kind of first(or last) object.
(1) The first object in viewport of its scrollable parent.
(2) The first object in accessibilty tree regardless of scrollable parent.
Looping navigation should use the first object of type (2)
Other cases should use the first object of type (1)
If view is changed, then there is no highlight. In this case the first object
of type (1) should be used. For example, if view is changed to 1 depth from
2 depth, then the highlight should use the first object of type (1).
If the following is 1 depth view after 2 depth view disapears, then there is
not currently highlighted object. In this case the item 4 should grab highlight
for next object, and the item 6 should grab highlight for the previous object.
+--------+
| item 4 |
|--------|
| item 5 |
|--------|
| item 6 |
+--------+
Change-Id: Ie4b4e8599232ef614d9dbe5921220af3578f54c1