Fix flickering for anchored + inset dodging views

Caused by two issues:

The first is that we use the stored dodge-offsets
at layout. This is unnecessary since we can just
apply them at draw-time, similar to anchoring
(done in CL).

The second is triggered by the first. We were
calculating the dodge-offsets on hidden views, which
resulted in us storing garbage offset values.
When the view is later shown, its laid out
using the garbage offset, resulting in it being in
the wrong place until the next pre-draw kicks in.
Fixed by skipping non-visible views.

Also stopped ignoring return value of intersect()
and throw an IAE if given rect is not suitable.

BUG: 31031905
BUG: 30771443

Change-Id: Ib546b0c3623d47a7f33dc085b36bbdd33db2cb8e
1 file changed