Add and document public API methods used by Desmos

Names changed to protect the guilty, and to be a little more specific,
hopefully a little less likely to become ambiguous or need deprecation
in the future.

I don't really love committing to the .keystroke() key event string
format, but it'll probably be fine.