fix password box documetation

Signed-off-by: aquileia <sk.aquileia@gmail.com>
Extend .gitignore for VC project files

This commit adapts .gitignore to the new MSVC compilation
recommandations on the wiki.

Signed-off-by: aquileia <sk.aquileia@gmail.com>
Improve UTF-8 handling

For manipulation of UTF-8 encoded strings (insert, delete, truncate, and
size), usually conversion to wstring and back was necessary. This has
two disadvantages:
* the size of wstring is implementation defined
* the
double conversion is slow

The purpose of this patch is to add functions
to handle these tasks by a layer handling the different indexing between
codepoints and characters.

This commit applies these functions in
several places to replace the old implementations.

The byte_size_from_utf8_first() implementation will be replaced in a
separate commit as it relies on the count_leading_ones function by 8680.

Signed-off-by: aquileia <sk.aquileia@gmail.com>
Fix a wrongly passed parameter in text_box.cpp
move UTF-8 functions to a separate namespace
fix signature and test for UTF-8 functions

On the advise of 8680, the unicode string was replaced by the hex
transcription of the corresponding codepoints (which he kindly
provided).
This might help to pass the overzealous encoding check of clang.

This commit also fixes a discrepancy between the signature of u8index in
declaration and definition.
Merge pull request #126 from aquileia/utf8

Improve UTF-8 handling