Major rewrite and reorganisation

There are major changes in this version including:
- Change to node.js version of JS/CC
- Use of an Abstract Syntax Tree representation
- Much more work shifted to the assembler
- It's now actually possible to write in assembler
- Support for floating point numbers
- Some limited support for strings
- Some limited support for lists
- i18n support