Messaging system between components

Added EventListener to components.
Events can be shared between global event system and the component event
system - very nice.
Messaging system between components uses Observer pattern.
Also removed parentWindowHandle from windows specific code.