the algorithm runs with no errors, but still plays some illegal words.  the main problem right now is if it builds a word that runs into another word in the same direction, it won't check that the combined word is valid