Create an undo level for 3d mode editing

When exiting 3d mode, all edits made while in 3d mode are rolled into a single '3D Mode Editing' undo level
Merge pull request #135 from Gaerzi/master

Sync with my fork.
Add context menu to undo history list

Can undo/redo to the selected item on the list. Also reversed the direction of the list to go top->bottom
Merge branch 'master' of https://github.com/sirjuddington/SLADE.git
Fix 2d mode flat textures not updating sometimes on undo
Focus the map canvas when entering 3d mode via the toolbar button
Fix thing selection animation for halo_width
Config Update

DECALDEF blocks and x/y scales (cannot handle hyphens), SBARINFO
additions, DECORATE additions, Translator lump syntax, LANGUAGE lump
support, config file addition, C-Style Source code highlighting,
TEXTCOLO syntax, ANIMDEFS update
Merge pull request #136 from DemolisherOfSouls/master

Config Update
- Updated syntax highlighting configs for ACS and DECORATE: The update adds StrLeft, StrRight, StrMid, GetLineActivation and SetLineActivation ACS functions, as well as any missing arguments to all the specials and functions. Plus some misc.
Merge pull request #137 from Blue-Shadow/master

Updates to syntax highlighting configs for ACS and DECORATE
Fix assertion in UndoListView

No longer pass -1 to wxListCtrl::EnsureVisible() function in order to fix the following assertion:
src/generic/listctrl.cpp(4072): assert "index >= 0 && (size_t)index < GetItemCount()" failed in EnsureVisible(): invalid index in EnsureVisible
Fix compilation warning in WolfArchive.cpp

Clang reported the following warning for findFileCasing() function:
control may reach end of non-void function [-Wreturn-type]
Fix compilation warning and potential memory leak in MapCheck class

Clang reported the following warning for any call to delete operator for instance of class derived from MapCheck:
delete called on 'MapCheck' that is abstract but has non-virtual destructor [-Wdelete-non-virtual-dtor]
Fix compilation warning in SetupWizardDialog

Clang reported the following warning for SetupWizardDialog::showPage() function:
comparison of unsigned expression < 0 is always false [-Wtautological-compare]
Fix compilation warning in ArchiveEntry

Clang reported the following warning for ArchiveEntry::importFile() function:
comparison of unsigned expression < 0 is always false [-Wtautological-compare]
Fix compilation warning in ArchivePanel

Clang reported the following warning for ArchivePanel::newEntry() function:
warning: '&&' within '||' [-Wlogical-op-parentheses]
Fix compilation warning in CSoundFile

Clang reported the following warning for CSoundFile::ReadAMF() function:
'memset' call operates on objects of type 'BYTE *' (aka 'unsigned char *') while the size is based on a different type 'BYTE **' (aka 'unsigned char **') [-Wsizeof-pointer-memaccess]
Merge pull request #138 from alexey-lysiuk/small-fixes

Several small fixes
Fix memory leaks in TextureXList

Release stored CTexture objects on destruction of TextureXList