Stop gcc with -Wswitch complaining about missing NONE
use GNUInstallDirs and make paths modifiable

hardcoded "lib" will break compatibility with libsuffix such as lib64/lib32
GNUInstallDirs provides convenience to handle this, but raises minimum
cmake version to 2.8.5
SAMPLES_DIR should also be modifiable
Merge pull request #78 from viciious/optimizations_p1

Part1 of various optimizations
Merge pull request #77 from hasufell/master

build system: respect paths
Optimize some of the string class operators

For single-byte strings, resolve <, = and != operators to strcmp
For common = operator, copy hash value from source to destination
Optimize document re-layout by caching layout-important CSS properties

Add ElementStyleCache class which handles caching of CSS properties that are
important for document layout. The class provides methods for accessing these
properties in constant time after the initial O(log(N)) fetch with cold cache.

This change makes the number of Element::GetProperty (and hence std::map::find)
calls during the re-layout drop in my 100x4 datagrid test from tens of
thousands to merely a hundred, resulting a substantial speed boost.
Minor correction to a project file
Add ElementStyleCache to build files
Replace std::map with std::vector for O(1) access to character properties

std::map was too slow when accessing properties for individual character,
represented by signed short integers. Use std::vector instead.
Merge pull request #82 from viciious/optimizations_fonts

Replace std::map with std::vector for O(1) access to character properties
Merge pull request #81 from viciious/optimizations_get_property

Optimize document re-layout by caching layout-important CSS properties
Merge pull request #80 from viciious/optimizations_string

Optimize some of the string class operators
Merge pull request #71 from chrismdp/master

Stop gcc with -Wswitch complaining about missing NONE
Fix for static linking using mingw
Fix copy paste error in Element Style Cache
Set the document global variable when the ElementDocumentWrapper is created
Update Xcode project for new StyleCache and iOS/OSX versions.
Fix compiler warning.
Merge pull request #87 from gabomdq/fix-elementstylecache

Fix copy paste error in Element Style Cache
Merge pull request #86 from gabomdq/fix-namespace-document

Set the document global variable when the ElementDocumentWrapper is created
Merge pull request #84 from gabomdq/mingw-static-fix

Fix for static linking using mingw