Refactor termbox frontend

Decompose large functions into smaller descriptive functions. Also, add
a test around a particularly involved options parsing.
Merge pull request #229 from Dparker1990/refactor_termbox_frontend

Refactor termbox frontend
Organize termbox file

Simply moving around functions to more appropriate, findable locations.
Add soda theme submodule
Implement soda theme tabs
Merge pull request #231 from vially/qml-tabs

* Rebased and squashed.