Fixes #704, Fixes #421. onShow, onHide callback moved to before transition starts, added new callbacks onVisible and noHidden for after animation completes