Raggle TODO
===========
[*] scrolling
[*] sanitize window modes (remove text reflow from draw())
[*] clean up code (move methods to modules, eliminate globals, etc)
[ ] modularize code to make it suitable for reuse
[*] finish inline documentation
[*] command-line options
[*] feed grab save existing items
[*] speed up feed cache loading
[*] theme shouldn't save hard-coded window coordinates
[*] scrolling in Description window
[ ] fix blocking for feed grabbing (grab feeds in parallel?)
[*] better theme format
[ ] Convert manpage (raggle.1) to -ms
[ ] Window resizing.
    Take a copy of ['theme']['window'], so we can resize without
    messing up the initial sizes (they need to be changed so
    resize_term knows what to do (not really, but still).
    We need to know *where* the windows are.
    For instance, in the default config, narrowing "Feeds" means
    widening the other two windows, and such.  
[ ] Add a focus mode 'focus_smart'(?) that will select a feed when you
    flip from feeds into items (such that you don't have one feed by all
    visual accounts "Highlighted", but the items from another, since
    just because a feed is highlighted, doesn't mean it's *selected*
    too (though possibly it should, but that's what this is all about).
[*] Add an option ('force_reflow') that will forcibly wrap lines that
    would otherwise evade it (by not having spaces in it, say).
[ ] When selecting a feed, automatically (and optionally) select the
    first item in the feed.
[*] OPML import/export support (http://www.opml.org/)
[ ] RSS locator (see link from http://www.pablotron.org/?cid=1154)
[ ] item delete, mark items as unread, stick (save, hilite?) items, etc
[*] proxy support (via ENV['HTTP_PROXY'], etc?)
[ ] display / dump raw feed output
[*] conditional HTTP GET to reduce bandwidth use and increase speed
[ ] "update this feed now!" option from within Raggle
[*] 'manual_update' option for modem lusers
[ ] Select Next Unread (n), should work for feeds as well as items
[*] Previous unread item would be useful also (I don't read in order, always)
[ ] Reverse ordering, (on a key) so you can read a big chunk of new
    items in chronological order (most are reverse chron) without
    undue discomfort
[*] Full HTML support is hard, but we at least need to do the right
    thing with <PRE>, this is entirely possible within String#reflow
    o Remove all calls to strip_tags (and have Window#text_draw do it
      *after* the reflow)
    o Watche for <pre[^>]*> </pre[^>]*> in String#reflow
    o Prevent reflow when between the two tags, just pass it word for
      word to text, sticking a \n in when one appears (which you can't
      see, because of the way #reflow is implemented, hence why I'm
      not doing it.
[ ] extended RSS support (1.0 modules, including Dublin Core and
    Syndication support, etc)
[ ] Check that the feedlist and feedcache are valid, after saving
    them. Write to another file, and check it, then move it into place
[ ] select and follow links in description window
[ ] add, remove, edit feeds inside Raggle
