Packaging
---------
 * Should package this properly for all OSes.  Install into the
   Python library dir, have actual install scripts/programs, etc...

Data
----
 * Figure out the rest of our unknown values
 * Figure out our unknown item types
 * Figure out what other bit flags there might be ("visibility" probably
   isn't just an int)
 * Figure out details of the visual effects values (some of that is
   probably bit flags as well)
 * Decode "savename" file format (this is where current-map and actual
   position information is kept, and also quest status, I suspect)
 * A lot of values for maps remain unknown to me.
 * Hm, haven't figured out the flag for doors/chests that are unlocked
   by specific keys, yet.

Character GUI
-------------
 * Implement the "Unknowns" screen
 * Highlight the Inventory Notebook labels when there's a change in one
   of them
 * Mouseover notification of previous values (for changed values)
 * (and CLI, actually) - show some more useful messages when a file can't
   be loaded
 * Need to enlarge the GUI windows a bit; on my laptop they're too small
 * When copying items, the "condition"-changed indicator doesn't populate
   automatically

Map GUI
-------
 * Separate thread to pre-cache tiles in map editor, for "instantaneous" state
   flips?
 * Actually track changes, for confirmation-of-close?  (also could support
   confirmation on new loads if we did this)
 * Warning/abort if trying to edit square with an unknown entity
 * Implement a 'question mark' or something for invalid tiles/entities
 * Should the 'friendly' field just be a checkbox?  Ditto for cloud overlay.
 * It turns out that technically we need to draw the map in multiple
   passes - first ground, then objects, etc (apparently including entities
   in with objects, not separately)  Tent graphics, for instance, get
   partially munged using our current method.
 * Square rendering seems to be getting a bit slow; should see if
   there's anything to be done about that.
 * There are some Tree graphics stored in set B which don't get turned off
   with our "Trees" toggle.  This is especially noticeable in, for instance,
   41.map, where the "Trees" toggle basically does nothing.
 * Change background color, like we do for selection in the square window
 * "Little" map, a la the Eschalon Map?  Showing currently-viewed-area?
 * Really test undo/redo - have to save out, etc. (in particular the maxlevel
   hasn't been tested at all)
 * Edits to map properties need to get hooked into the undo system
 * "scripts" on main screen needs to be called "objects" instead
 * Optionally allow "smart" walls to connect between groups?
 * Add in "special" tile stuff to smart walls
 * Exception handling when we're drawing the map (shouldn't really happen, but
   we should handle it if it does, regardless)
 * Erasing should re-smart-draw stuff around it, perhaps?
 * Erasing should also re-do barriers if wanted, perhaps?
 * Smartdrawing should be a little less destructive when doing stuff.
   (overwriting non-grass/sand decals, etc)
 * Click-and-drag seems choppy in Win

Internal
--------
 * We're doubly-caching some widgets in the character GUI code, which is
   stupid.  Should consolidate those.
 * Speaking of, I'd actually like to move a lot of that into basegui where
   it belongs, too, though the map GUI doesn't really need most of it.
 * A whole lot of code-cleaning should really be done, it's pretty spaghetti
   in there.
 * Square class now holds (x, y) information - can probably switch some stuff
   around to take advantage of that.  Also, that change could use some more
   testing.
 * SpinButton get_value_as_int() returns signed values when it shouldn't,
   should probably move away from using that entirely.  See:
   https://bugzilla.gnome.org/show_bug.cgi?id=621400
