Improved UI and optimization functionality:
- Made the compiler able to handle optimized code.
- Added an optimization flag for both the interpreter and compiler.
- Fixed bugs.