New approach to file parsing

Instead of tokenising as we read the file, we will instead explode the
source code into separate words and use that array to tokenise -- this
will allow us to 'look-ahead' at the next word to help with determining
context.