Switched to using tree control for watches.

Replaced AssignImageList with SetImageList as there are multiple controls
using the same Image list (and it can't be shared if Assign is used).
Updated constants for image lists.
Added package `AddWatch` method (#166).
Switched from using TreeItemData to Lua tables for watch expressions.

Storing changes to wxLuaTreeItemData doesn't work from coroutines for some
reason, so using Lua tables instead.
Simplified logic for watch processing.
Refactored stack processing to use methods to handle expandable table values.
Removed check for multiple references in stack values.

All references will be shown; circular references can be expanded as well.
Updated watch menu to handle item under mouse cursor.
Added support for expanding table elements in Watch window.
Added refresh of expanded Watch values.
Disabled editing on non-root watch elements.
Updated Stack and Watch views to better stringify keys.
Added a check for a local shortcut (F2/Del) being enabled before triggering.
Enabled editing of values in Watch window.
Merge branch 'watch-as-tree-with-edit'