console: Return struct with modifier keys to console_read

This enables us to handle special combinations like ^D.
This fixes #12.