Big update!

Lots of refactoring and stylistic changes yay! Also, updated so that
Genie can use WebWorkers! Still need to do docs, and tests, but going
good!