Tons of changes

- Optimize branch code
- Optimize comparison operators
- Optimize stack frame allocation
- Added support for dynamic memory allocation
- Pointer operations, arithmatic, and comparison
- Support for arrays