Added GetCharacterIndex()

This method maps with FT_Get_Char_Index().
Added GetCharacterIndex()

This method maps to FT_Load_Glyph().
Added RenderGlyph() method.

This method maps to FT_Render_Glyph() except that it
only works on the current font_t glyph. Also to make
this method work E_RENDER_MODE enum was created which
maps to FT_Render_Mode enum.
ConvertFromRenderMode() and ConvertToRenderMode()
have been added to convert between these two render_mode
enums in an easy way.
Added SelectCharmap() function.

This function maps to FT_Select_Charmap().
For this to work E_ENCODING enum was added.
The enum maps tp FT_Encoding. Conversion methods
have been added to convert between those two enums.
Although E_ENCODING is a enum class every member
still had to be prefixed with ENCODING_ since
UNICODE for example is a MACRO and sadly still
gets detected as one within the enum class.
Changed E_RENDER_MODE members.

Every member now has the prefix MODE_ just
in case on some platforms the single names
could be macros. One does never know.
Fixed error lookup on various functions.

Fixed if ( error ) to if ( error != 0 ).
This is mainly because we want to explicit with integers.

Functions in question:
RenderGlyph()
SetCharacterSizeInPoints()
SetCharacterSizeInPixels()