Tower Virtual Machine

Tower is a stack based virtual machine that is meant to be a language agnostic runtime. There are plans to add an AOT compilation option, this will be useful, use the VM for testing then once everything works, push out performant machine code that is error free.