Add virtual destructor to a class with virtual functions.

Clang is not happy about it, emits a warning on -Wall. Technically it's not
required if you never call "delete" on a base class pointer. But it's a good
practice to define a virtual destructor at a point where virtual table is
also defined (implicitly by defining virtual functions).
Actually silence warning. A cast to (void) does so, not to (void*).
Support building with clang.

Sadly CMAKE_COMPILER_IS_GNUCXX is not true if building with clang. Even though
clang is mostly compatible with gcc.

P.S. A proper way to build stuff using clang under cmake is:
     CC=clang CXX=clang++ cmake . <options>
Merge pull request #21 from nsf/master

Minor warning fixes and clang support.
Upgraded thirdparty stb_image.h (1.38 -> 1.46)
Removed some warnings in demo code
Disable -Wunused-function for stb_image.h

Unfortunately it doesn't work for gcc, the only way to stop these warnings in
gcc is to use attributes. But since stb_image.h is a third party dependency,
modifying its code is discouraged.
Silence unused function warning in glfw portion of the demo app.

This function needs to be defined only starting from a certain version of the
GLFW, where it can actually be used. It's the drag'n'drop functionality.
Enable -Wall -Wextra -Wno-unused-parameter on gcc and clang. Fixes #23.

At the moment gcc still generates a bunch of warnings on stb_image.h, but we
can't workaround that easily without modifying the stb_image.h itself, which
is a third party code.
Fix utf8 backward movement bug. Fixes #22.

Utf8 movement functions now only work between [0; i_max]. The fix also
includes a couple of TBCaret fixes, because of these changes.
Merge pull request #27 from nsf/master

Enable -Wall -Wextra -Wno-unused-parameter on gcc and clang. Fixes #23.
Merge pull request #28 from nsf/caret_fix

Fix utf8 backward movement bug. Fixes #22.
Renamed STATUS_NO_MEMORY. Fixes #26.
Removed dependency strtok_r/s.
Fix #30. Use -std=gnu++0x instead of -std=c++11.

Apparently the new standard is strict about POSIX functions that are
not part of the standard. strdup is used in a few places and need to
be replaced to change back to -std=c++11.
Refixed #10.

LINUX isn't defined anymore.
Fix for starting demo on osx.
Added OnVisibilityChanged
Use visibility for pages in TBTabContainer.

Instead of using opacity.
Also implement SetValue/GetValue for current page.
Moved child index methods to TBWidget from TBTabContainer.