Add hash_value convenience method

The main benefit compared to hash<T>() is that it infers the argument type
gfx: Fix Texture::upload

Partial uploads and uploads of odd-sized regions with one-byte formats now work properly.
gfx: Implement texture saving

Texture::download should work with all formats, Image::saveToPNG is currently very limited.
ui: Basic font rendering support

Current implementation a very naive dynamic glyph packing and is not very fast.
Additionally glyph layout is not correct/accurate and the rasterization size is hard coded…
ui: Implement stb_truetype-based font

Also fix font atlas layout bugs and FreeType scaling behavior
Add Unicode support and fix font layout to some extent