Do not double buffer by using stdin_raw() instead of stdin()

By casting `box stdin() as Box<Reader>` stdin's buffering Reader
implementation is cast as the Reader Trait and then it is wrapped in a
BufferedReader(). This means two buffering layers. stdin_raw() Reader
implementation does not use a buffer, so when stdin_raw is wrapped in
BufferedReader() the new object has just a single buffer.