Destructruing Assign + Bug Fixes + Some Comments

I added destructing binding, i.e. the ability to bind individual pieces of a grid to their own names. (I also included an example showcasing this ability). I also made it so variable reads are now treated like data. In the process I fixed a crashing bug when reading from non-existent variables, made it easier to use the marking features, cleaned up some warnings, added some comments, and made sure it was compliant with clang++ (while not breaking g++).

I will probably be fooling around to see what sort of cool features I would make for an evaluation system. But these commits are probably worth putting in the release version.

Edit: Also, I accidentally added the fixes for wxWidgets/GTK to this pull request.