Major refactoring, API breakage!

- refactored the code to be closer to how other's have used the old
FontStash
- changed coding style to match my other libraries (OpenGL-ish style
API)
- changed renderer backend to use callbacks
- improved documentation