Change date update mechanism.

Previously revolved around a 24 hour timer (didn't work well with
systems pausing and hibernating), now revolves around window activity.

Specifically, the windowActivated WindowListener is used to detect when
the window is focused, which conveniently includes focus via resuming a
system from sleep.