Initialise the DBus mainloop explicitly

So that asynchronous messages and signals can be used, python-dbus must
be initialised with a main loop. This currently happens because Sugar
imports the datastore module at some point during startup.

When working on some startup-time behaviour, this caught me out.
Trying to work with dbus before that import had happened resulted in
some really strange behaviour.

Make the DBus mainloop assignment explicit to avoid this in future.
Add Object Chooser in web activity
Remove trailing whitespace
Setup dbus mainloop in tests
Setup dbus mainloop in sugar-launch
Use focus-in/out events to set the visibility in the journal - SL# 4604

The callback method of the signal 'visibility-notify-event' receive
event.get_state() == None in the case of changing from the Journal to
another activity, but not when changing to other views using F1, F2, F3.
Use focus-in/focus-out events to set the visibility of the listview,
because this works with realibility. Fixes #4604

Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>