TileSet Refactoring [WIP]

This is the first half of refactoring which will give some much needed improvements:
* Support for additional terrain formats (.R8 as part of this pr, TS/RA2 .tmp in the future).
* More efficient use of texture space.
* Support for FrozenUnderFog on bridges.
* Support for the ingame map editor.

The map editor changes need to be tested on an OS with a working WinForms implementation before I can progress further.

This isn't ready to be merged.