Added support for function call sub-scoping and language functions
- SubScoping is achieved through the union type of GlobalScope and SubScope
- Extracted out file parsing and evaluation from GlobalScope into a Engine construct
- Functions defined within functions will also use their own sub scope
Co-authored-by: Akilan Elango akilan1997@gmail.com