Correct visibility when fading from onComplete

When a new fade is called inside the onComplete event of first fade out,
then the opacity fades as expected but the visibility will not be set
back to `visible`. This happens because the first fade sets the
visibility after the fade is done. So the onComplete actually fires
before the visibility is set.