fix(tabs): fire deselect before select callback

Closes #1557
Closes #1566