This thing needs to be rewritten. It's grown too complicated for what it's doing,
and I don't like the physics anyway.
Also, this leaves the bug where if you press back while it's animating down, the
animation is ignored. However it no longer jumps down all the way, it just
essentially ignores the back key.
Also, this makes the collapse get executed on the back key up event, so it works
with the swipe on the soft keys at the bottom of the screen.
Now we have a 5-second time after home is pressed, during which
only the home app (and the status bar) can switch to another app.
After that time, any start activity requests that occurred will
be executed, to allow things like alarms to be displayed. Also
if during that time the user launches another app, the pending
starts will be executed without resuming their activities and
the one they started placed at the top and executed.