Replace current typing mechanism with internal API calls.

KIFTypist is really cool to watch but can be flakey for international keyboards and I never took the time to learn about how it works.  With the iOS 8 simulator changes this is more obvious than ever.  After setting some breakpoints and looking at a couple jailbreak projects, I came up with this POC which is working great (at least for the test suite).

This should hopefully address #485, parts of #478, #323, #291, #263 (hey @plu), and probably some other issues that have been worked around with longer keystroke delays.

I'd like some more testing from the community and to see if it works on devices with custom keyboards active.  Also, it's a big change so let me know if you love it or hate it or if there's something important I missed.