Changed the parser to make use of the strategy design pattern.

Now uses a Compiler that has its parser (strategy) set to a TRIV parser
(concrete strategy).

Uses the same Lexer for now, can't decide on using strategy for lexers
or using one lexer for everything.