Major rewrite for using Gosu

Closes issues #1, #2, and #3