Screensaver end callback

Adding a NSNotificationCenter for the NSDistributedNotificationCenter,
which captures a huge amount of stuff on the system. adding an Observer
for specifically the screensaver ending. Adding subscription and
unsubscription and a function to handle the ending of the screensaver.
Tested with screensaver with no password and with password. This works
either way.