Refactor CWinEvents

We need the implementations to be instantiated in order to extend the
Observer class.
Allow WinEvents to observe Peripherals changes
Remove some unused WinEvents stuff under IOS