Kotlin Rewrite
The rewrite was performed in September 2018, but was held back from master for lack of testing.
However due to the unmaintained status of the repository, I've now decided that there should be only one version of the codebase going forward, and that it should be the modern one.
THIS SOFTWARE IS UNMAINTAINED AND UNTESTED. USE AT YOUR OWN RISK.