Initial Commit of solution

I just wanted to make sure to get this out there in the interest of having an answer that people can look at and talk about (maybe if you're not interested in coding the whole thing, you'd be more interested in talking about WHY I made some of the choices I did and didn't do.

Full disclosure: I DID look at the answer while I was debugging my stuff getting it ready as I thought there was more to the article explaining stuff. I also tried to deal with it fairly honestly. I did take some ideas and use them to improve my code, but everything is basically my style and was originally created by me in the first place before discovering the answer. Maybe next time we can separate the question and answer?