Change; feature

* Make BTerminalIOHandler a singleton
* Implement terminal modes