change ExecQuery() to not take any parameters

ExecQuery() now just executes c.query if it's not an empty string
Implement an asynchronous buffer reader

should fix #113
use runewidth.Truncate()
Change IsTty() to IsTty(uintptr)
remove unused var
Merge pull request #116 from peco/reader-loop

Reader loop