Platform abstraction for requesting text input