Removed exidentally added OpenGL demo

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Replaced event parameter union with more sophisticated event struct

 - Event type, source widget and source window are stored in struct
 - Event argument union is stored in struct
 - User pointers are passed as first argument in event callbacks

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Replaced specialized event arguments with generic ones

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Implemented global event queue with event-callback connections

 - Widget events don't run through canvas and window callbacks anymore
 - Widget events get posted to internal event queue
 - Window events use callback but also get posted to internal queue
 - Connections can be registered to link certain events to callback
   calls (signals & slots style)
 - Centralized queue is locked, events can be added from any thread
 - queue gets processed in main thread

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>