major overhaul:
- eliminated must-return analysis
- added third module parameter
- clarified floating-point literals
- added ternary expressions
- added support for constant heap loads/stores
- byte addressing doesn't require a shift
- corrected load/store shift arithmetic
- eliminated bit and boolish
- added doublish
- unknown <: intish, doublish
- corrected many of the operator types
- multi-add rule
- unary -
- added support for global constants
- eliminated varargs, replaced with Function type