TimeoutAdd main event loop function  and GoValue corrections

Hi

I would like to suggest few changes to be merged in to the main branch:
 - I have added TimeoutAdd function and moved what it has in common with IdleAdd to commonAdd function.
- Tests for main loop events.
- GoValue now uses correct g_value_get_* for each GType separately.
- Widget Realize and Unrealize functions.

Please review the suggestions and tel me what you think about them.
Best
Miha