Stop defaulting Vico windows to be non-opaque.

They were set as such to accommodate non-opaque theme
background colors, but we'll deal with that separately.
Toggle window opacity based on theme background.

When a theme we switch to has a background with a
non-100% alpha channel, we turn off window opactiy. When
it does have a 100% alpha channel, we turn it on.
Set the theme opacity on window initialization.

We were only updating the window opactiy based on the
theme when the theme changed; however, this meant that
when the application started it would always be opaque.

We now move the logic to set the window opactiy based on
the theme's background opacity into a dedicated method
that we call both from the theme change KVO handler and
when the window initially opens.
Temporarily make window key on opacity change if needed.

Before, changing the theme in the preferences to a theme
with a semi-transparent background would result in the
semi-transparency painting over a gray background instead
of the actual stuff behind the window until the window
becomes key.

To avoid this, when setting the window opacity, if the window
controller's window isn't key, we make it key temporarily and
then restore the original key window's key status.
Merge pull request #64 from vicoapp/now-you-see-me

Now You See Me: Toggle window opacity based on theme background.

When a theme we switch to has a background with a
non-100% alpha channel, we turn off window opactiy. When
it does have a 100% alpha channel, we turn it on. Window opacity
modifies the window shadow, amongst other things, so an opaque
window set to non-opaque does not look as expected with other
windows.