ui: use NumberAnimation for state change animation
this fixes a bug where the UI was not updated when the window is not visible, turning vpn on/off via the tray didn't update the state correctly i.e the tray icon's state would be stuck in the connecting state with the yellow icon
using NumberAnimation for the state transition instead of OpacityAnimator fixes the issue as it seems opacity animator only works when the window is visible
fixes #924