Rewrote a lot of stuff

Changed how I handle dropping tiles. Every tile tries to drop once after
every update call, seems to be less bugs this way. Also, this now
handles the case where a 2x2 is broken by a 2x2 below it clearing and
dropping some of its tiles. Basic game logic seems to work. Next is to
implement score, display brick queue, menus, etc.