Refactor input handling, update error handling

- Move readline and non interactive stdin processing to seperate files
- Catch ConvertError