Rename activate property to active

Use a more appropriate name.

Issue: #48
Emit activeChanged when state changes

When state changes see if window was activated or deactivated and
emit activeChange accordingly.

Issue: #48
Clear window title in switcher when all windows are closed

Otherwise the overlay will keep the last window title.

Issue: #42
Cleanup signal connection

No functional change.

Issue: #42
Cleanup Shell connection

No functional changes.
Set window state only if it's really changed

Set window state only if the previous state was different.

Issue: #48
Emit activeChanged when state is set

When the state is set emit the activeChanged signal, the activate()
method will call setState() then.

Issue: #48
Deactivate window

Add a method to deactivate windows.

Issue: #48
Don't emit activeChanged from slots

It's already emitted when the state is set.

Issue: #48
Correct window state values

Set values that we can use in bitwise operations.

Issue: #48
Switch windows

Implement actual windows switching.
Use Ctrl+A shortcut during development, will change it later.

Issue: #42
Send workspace activated/deactivated event only when needed

Don't send events when the state hasn't changed.
Show windows switcher when requested

Don't always show it.

Issue: #42
Don't show windows switcher when a workspace is selected

Issue: #42
Don't select current workspace

Avoid to select the current workspace.
Don't show workspaces switcher during window switch

When a window in a different workspaces becomes active we don't show the
workspaces switcher so it doesn't overlap the windows switcher.

Issue: #48