Add OptionsProperty to Qt 5 GUI

This new "backend" element gets a default value and name of a modRana persistent options key.
Once instantiated, it fetches the value of the key asynchronously, replacing the default value with
the value returned by the callback once done.

Another feature of OptionsProperty is that once its value is set, it is stored to the corresponding
options key on the Python side.

This makes it possible to provide the name of the key only once and eliminates needless boilerplate
code for getting and setting the key value.

Also, OptionsProperty has a built-in protection against the key being set until the key-getting callback finishes,
this should prevent race conditions where switches might rewrite the value of a key due to onChecked triggering
at switch instantiation time.
Use OptionsProperty on the Debug page
Load various toplevel properties asynchronously

This might help to reduce the modRana Qt 5 GUI
apparent startup time a bit and also should
protect against accidental persistent options
dictionary key overwrites.
Start the Python part of modRana asynchronously from the Qt 5 GUI

Run the function that triggers modRana startup (module loading, etc.)
asynchronously, so that we can show something in the Qt GUI until it finishes.

While the startup itself still takes the same time, this improves the user experience quite a bit
as the user now gets a nice "starting modRana..." label before the actually working GUI
shows up, instead of nothing happening for a few seconds and then the gui showing up at once.