Fix regression: feed list not refreshed when moving and renaming feeds.
When given an object, log() should write out its JSON source
Reduce INITIAL_WINDOW_HEIGHTS_LOAD.

Two screens ahead is unnecessarily big and could cause noticeably
slower refresh, particularly in headlines view.
Finalize all statements and close the connection on shutdown.

Fixes issue #40.
Fix completely broken favicons refreshing.
Entire Brief's tab should be reloaded when changing the custom style.

Custom style can be also applied to Brief's XUL document, after all.
FeedUpdateService should just hand the parsed feed as it is.

FeedFetcher.handleResult() does some preparations before handing
the data to FeedProcessor. The intention was for it to map the
necessary data to Brief's container, so that FeedProcessor didn't
have to deal with native feed interfaces. However, we now use
various properties that aren't represented in the containers and
we end up accessing wrappedFeed to bypass them anyway.
Pass the feed's DOM document to FeedProcessor.
Store and use the feed's language.

Feed's language can be specified via RSS <language> element or xml:lang
attribute set on the root element in Atom feeds. It is then used to set
lang attribute on the article container in the feed view.
Detect right-to-left languages and set text direction accordingly.

Solves issue #34.
Specify language of feed view document based on selected locale.

This sets the overall language of the document and applies to such
elements as day headers in headlines view and the empty view
messages. Feed articles have their language set separately,
as declared by feeds themselves.

This is necessary to correctly handle upper-case text transform
in Greek (issue #41) and possibly other language quirks too.
Redesign the user interface.

The new theme aims to be flat and minimalistic. Spacing is
applied more generously, unlike colours which are subdued,
mostly gray-blue, with some orange highlights.

Layout changes:

1) Options and Refresh buttons used to be tiny and awkward.
   They have been labelled, enlarged and moved to the top of
   the sidebar.
2) A single button for toggling headlines view wasn't the best solution.
   Mentally, the action is about switching between two different views,
   so two separate, radio-like buttons feel more natural than a checkbox.
3) Similarly, instead of two checkbox-like buttons to toggle filtering
   unread items and bookmarks, there are now three buttons for switching
   between all/unread/bookmarks.
4) Mark View Read has been moved to the right of the view title,
   alongside the other buttons.
Turn the Options button into a dropdown.

The dropdown is a good place to put various important features that
aren't used often enough to be shown in the primary UI.

1) Organize Feeds - opens Library with the Brief's home folder selected.
2) Keyboard Shortcuts (never really fit in the Options window).
3) Options
Custom styling for menu popups.

Now that the rest of the UI is completely non-native, the native styling
of menu popups can be quite jarring on some systems.
Define query constraints for special views in a single place.
Remove the Unread folder and replace it with a Today folder.
Fix and improve the option to exclude certain feeds from global views.

This option used to affect just the Unread folder, which doesn't exist
any more. Let's reword it and make it exclude the feed from both
All Items and Today views. Arguably, that's more in line with the
use case it has been intended to solve, than it used to be before.
Next part of interface redesign.

Adjust spacing in the feed list, remove folder title border,
tweak update progress bar, move bookmark button to the right
side of an item etc.
Tweak item selection highlight.
Add a more convenient and discoverable way to collapse items.