- Added a function, layer_hidden(), to EditorState source file that does a quick check for layer visibility based on state of the editor.
- EditorState ignores calls to changeTileTexture() when the current layer is hidden.
- EditorState draws a 'layer hidden' hint attached to the mouse pointer when the current layer is hidden.

Load Map button is disabled until the editor scans the maps directory and maps have been found. Closes issue #1.
- StartState will now scan the directory for any files within it. If any are found, each is checked for a "<map>" tag which contains a version string matching the map driver version in the code.
- StartState will draw at least one frame before it begins to scan the maps directory so that the user can see something is, in fact, happening.
- StartState will draw one frame while beginning to load a map so that the user can see that something is, in fact, happening.
- Windows message boxes have been reactivated to display error messages when exceptions are thrown.

- Added different mouse pointers for edit modes to make it more obvious what state the editor is in.
- Added separators to the ToolBar.
- Stripped PNG's of known bad iCCP profiles. Still get a few warnings but not like it was before.

- Added responding_to_events() functions to MiniMap and TilePalette -- makes the check for whether editor needs to ignore mouse input a lot easier to read. Could be shortened to 'responding()' or 'active()' but this works.

- Buttons to toggle visibility of minimap/tilepalette added.
- Cleaned up some tile placement logic that would cause painting over the area the tilepalette was over to not be painted even if the window was hidden.
- Fixed some mouse reaction logic in TilePalette.
- Updated visual style of the tile palette. It's very plain but it's functional.

- Pulled key processing for setting editor states.
- Fixed scrolling speed with keyboard arrow keys.
- Replaced several awkward ternary bool flips with cleaner code.
- TilePalette now hooks its own event handlers instead of the much older style of event injection.
- Toolbar layer visibility now fully hooked up and working.
- Pulled some unused code form Map.
- Map can now have its BG layer set to be drawn or not drawn like other layers. This is only useful in the tile editor itself.
- TilePalette will no longer draw itself or respond to events when in hidden.
- Pulled show/hide images from TilePalette.

- EditState now checks for the eraser button toggled when running its tile index logic.
- Base layer can now be erased -- changed clear color to make holes in the base layer obvious.
- Pulled event hooks for tool buttons as the logic polls for state instead of storing it in EditorState.
- Updated map to handle cases of 'empty' tiles in the base layer.

- Added ToolBar class.
- Implemented Button Image option.
- Added string_format function.
- Started pulling config options from the editor. I think it clutters up the code more than anything else.
- Removed map file path entry textfield from EditorState.
- Added a map file path textfield to the StartState -- it makes more sense to have it there.
- StartState will now flash a warning message when there's an issue with any of the values in the text fields.
- Modified Map to take better advantage of the Viewport (allows for rendering a toolbar at the top without hiding any tiles underneath it.
- Menu will now only sort items when its sorted flag is set.