Merge branch 'gearc' into develop

* gearc:
  Implement parser for statements and expressions
  Add Statement and Expression AST node types
  Add lexer for string literals
  Add identifier, '(', ')', ',' and ';' lexers
  Add Cabal package for compiler
Add Compiler monad and state manipulation functions
Export compiler state mutators
Implement compilation of statements and expressions
Merge branch 'feature-gearc-compiling' into gearc

* feature-gearc-compiling:
  Implement compilation of statements and expressions
  Export compiler state mutators
  Add Compiler monad and state manipulation functions