ChangeLog for smooth

15.12.19 12:54 - smooth alpha 0.9.0

- application.cpp	- new Application::Lock class implementing a global lock for UI processing
- widget.cpp		- explicitly show/hide child widgets in Show/Hide methods
- layer.cpp		- use standard widget implementations of Show/Hide methods
- menu.cpp		- simplified API for adding menu entries
- combobox.cpp		- fixed selected entry not being updated when new entry has the same memory address
- cursor.cpp		- fixed text not being drawn correctly after undo/redo
			- fixed multi-line cursors not responding after clicking below the last line
			- performance optimizations for text input
- scrollbar.cpp		- added support for smooth scrolling
- container.cpp		- new common base class for menus and lists
- tree.cpp		- draw horizontal branch lines to improve tree look
- tabwidget.cpp		- added support for displaying bitmaps on tab handles
- image.cpp		- set background color for bitmaps
- hyperlink.cpp		- set background color for bitmaps
- backendxlib.cpp	- allow console applications to run without an X display available
- windowxlib.cpp	- fixed thread-safety issues with Xlib windows
- windowgdi.cpp		- added support for high precision touchpad scrolling
- windowcocoa.mm	- made drag & drop work more reliably on macOS
			- added support for high precision scrolling on macOS 10.7 and later
- surfacecocoa.mm	- added support for dark mode on macOS
- keyboard.cpp		- improved thread-safety
- crc16.cpp		- added Hash::CRC16 class to calculate 16 bit CRCs
- driver_posix.cpp	- fixed permissions of newly created files to respect umask setting
- driver.cpp		- added Truncate() and Close() methods to public API
			- added IsBuffered() and SetBufferSize() methods to control buffering
			- implemented Flush() method for file drivers
- outstream.cpp		- added Truncate() method
- directory.cpp		- Copy() and Move() method now take a const Directory & argument
			- fixed permissions of newly created directories to respect umask setting
- file.cpp		- Copy() and Move() method now take a const File & argument
			- added methods to change modification and access time
- string.cpp		- added scoped string format setters String::InputFormat and String::OutputFormat
- system.cpp		- added GetApplicationCacheDirectory() method
- thread.cpp		- added GetCurrentThreadID() method
- math.cpp		- added methods for pseudo random number generation
- datetime.cpp		- fixed possible crashes
- cpu.cpp		- added support for querying CPU vendor and brand strings
			- added support for measuring CPU clock rate

- added Float32 and Float64 type defintions
- added support for Unicode console I/O on Windows
- added stream API to CRC32 and CRC64 classes
- performance improvements for CRC calculations
- added plain text export to Translator utility
- removed support for building with Xlib backend on macOS
- removed dependency on libXmu
- upgraded libcurl to version 7.56.1
- upgraded libpng to version 1.6.37
- upgraded libjpeg to version 9c
- upgraded libiconv to version 1.16
- upgraded libxml2 to version 2.9.10
- upgraded libbzip2 to version 1.0.8
- upgraded fribidi to version 1.0.8
- upgraded libcpuid to version 0.4.1
