characters view: Use GtkGridView
Instead of manually drawing each character now we use a GtkGridView.
I had to implement a layout manager to ensure that the grid items stayed in a consistent size. Otherwise since there are characters that are wider or taller the grid tried to apply sized based on the characters on display which makes everything jump around as you scroll. With the new layout manager if a character doesn't fit it simple overflows, which has its own problem if the character is too big or the name is too long it can overlap with the surrounding characters.
Edited by Jeremias Ortega