Postpone accessibility events to post layout

During a layout calculation, some accessibility events
might be triggered by the view system synchronously.
These events are very hard to handle for a LayoutManager
since it is in the middle of calculating a layout but
received an accessibility request while trying to
obtain / add or remove a View.

Instead, RecyclerView will silently block these calls
until the end of the layout or scroll calculation and
then dispatch content change to avoid these race
conditions.

This CL also backports more Accessibility code to support
library.

Bug: 19717689
Change-Id: I98aac9264579714352554a7e9cbd2f712a72e6ee
7 files changed