Correct visibility when fade is chained

fixes #2593

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.

support fiddle: http://jsfiddle.net/TgxEZ/

related/history #2074