Always use special ifdef for debug code.

_DEBUG is not set by all compilers by default.
Let TB_RUNTIME_DEBUG_INFO depend on NDEBUG instead and is it everywhere.
Added configuration defines for default platform implementations.

Makes it easier to control stuff using a shared build system.
Added cmake build files. Work in progress.
cmake update: Use WinMain on windows.
cmake update: compiler settings for msvc.
cmake compilation fixes
Removed old Makefile

Rely completely on cmake for linux & macosx
cmake compilefix for macosx
Workaround for problems linking as library.

Compilers (especially visual studio) can't be forced to link object
files which content isn't referenced, so continue the ugly tradition
to specify all widget factories in the same place.
Deprecate TBAddon and made TBImage optional by define.

Making features optional by linking is messier than using defines.
Use tb_config.h for all optional core stuff instead.
Removed special compiler flags for linking all object files.

Should not be needed anymore.
Mention cmake in build instructions.
Another workaround for problems linking as a library.

Apply special hack to force linking of internal tests.
Without this, all tests where discarded silently by the linker.
Use inheritance for reading properties during inflate.

Read properties in virtual OnInflate instead from special factory block.
Now subclasses may add properties and read super class properties, before
or after reading its additional properties.

The TBTabContainer>tabs node may now also f.ex specify
distribution-position or any other generic property, and that will be
applied to just the tabs layout.
cmake cleanup

Moved glfw include from the top CMakeLists.txt to
the demo project, since it's the "user" project that
specify the dependence and knows where it is.
Make Invalidate visible by TBEditField subclass.

It was not callable because of the private special version in TBEditField.
Simplify include directories for demo.