Clean up input handling in VulkanViewer

Sets up proper handling of characters and keycodes, and event modifiers.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1865553005

Review URL: https://codereview.chromium.org/1865553005
10 files changed