First big terminus refactor

This is a major refactor of Terminus 2.0. This is in preparation for the alpha release. After this all dev should go through master and github issues.