fix run time error (+1 squashed commit)
Squashed commits:
[29ac0fd] fix wrong merging (+1 squashed commit)
Squashed commits:
[0a0d093] properly call Add/Remove ScreenChangeCallback native function, by counting the javascript listener number (+2 squashed commits)
Squashed commits:
[6e1c7c5] Change the screen geometry event handler to use node.js EventEmitter
move Screen functions from App to seperate Screen class
[23332bf] Implement "Generic" Event listener, with application on Screen Geometry events listener (+1 squashed commit)
Squashed commits:
[372c9bd] add App API to get screen(s) information