TISTUD-6972 Studio hangs with incorrect password during update

DO NOT USE readLine() when we know a stream may block. We have no way to guarantee that it won't block ( we can check ready()/available() but that just means there are more bytes, not that we also have an EOL/EOF char in those bytes). So I had to move to reading char by char and breaking it up by lines myself with checks after each read to ensure the next read wouldn't block.