Fix gcc compilation warnings

Mostly 'converting to non-pointer type int from NULL' and vice versa
Move ElementStyleCache.* to Core
More fixes for compilation warnings
Do not precalculate kerning for all characters

Precalculating kerning for all character pairs consumed a lot of RAM (N*N complexity). For CJK fonts that contain tens thousands of glyphs it was a highly unpractical approach resulting libRocket consuming >1.5GB of RAM. Instead, encapsulate FT_Get_Kerning call in FontFaceHandle::GetKerning and let FreeType handle the kerning on the fly. In my measurements, the performance difference is negligible, especially when compiled compiled geometry is utilized.
Merge remote-tracking branch 'remotes/lloydw/master' into kerning_footprint_reduce
Merge remote-tracking branch 'remotes/origin/fixwarnings'
use dpi units
Allow setting a default cursor for a context
Fixed memory leaks and copy paste error in ElementTabSet
Fix pointer conversion bug in Variant
Merge remote-tracking branch 'remotes/czbming/official'
Bugfix: reset data_source to NULL upon detaching

Prevent referencing to possibly freed data_source in the destructor
Do not scroll datagrid to bottom on resize event

This bugged selection in overflowed datagrid contained within another overflowed element
Merge branch 'master' of https://github.com/tcShadowWalker/libRocket into tcShadowWalker
Merge branch 'master' of https://github.com/opengenius/libRocket into opengenius