Very customizable (I like having number row always visible, and having long press for symbols on each letter).
Has gif support built in.
My biggest pain point is:
It auto corrects words that are spelled correctly to other words. I type "our" and it changes to "out", I recently typed "purpose" and it changed it to "purple". Autocorrect is awesome and necessary, but I hate that it corrects words to other words and not just typos. I wish I could find a keyboard that has the things I like without this annoyance.
I had the same dilemma. Switched to HB and added in FUTO voice to replace Googles voice to text. SO doesn't like that it doesn't learn like Swiftkey does, but I like it because you can set it's aggressiveness of the autocorrect.
I dont think you can do letters, but under advanced settings you can edit the JSON config for positioning of everything else. Perhaps I'm wrong on letters and just haven't seen it.