WIP Auth
Unify QML engine

Refactoring shell code so that we only use a single QML engine for all
the windows.

Issue: #23
Refactor Background window

Due to single QML engine changes we create shell windows from C++, because
it's easier as we have one single place (ShellUi) where we have the engine
and the screen.

Issue: #22
Issue: #23
Refactor Panel window

Due to single QML engine changes we create shell windows from C++, because
it's easier as we have one single place (ShellUi) where we have the engine
and the screen.

While we are here, We fix multi screen issues by not hardcoding X and Y
coordinates to 0, but using actual monitor X and Y coordinates.

Issue: #22
Issue: #23
Refactor Launcher window

Due to single QML engine changes we create shell windows from C++, because
it's easier as we have one single place (ShellUi) where we have the engine
and the screen.

While we are here, We fix multi screen issues by not hardcoding X and Y
coordinates to 0, but using actual monitor X and Y coordinates.

Issue: #22
Issue: #23
Create and show shell windows

Windows are created from C++ now.
Using QQuickView we can specify the screen during the creation instead
of setting it after.

Issue: #22
Issue: #23