touchwake upgrades, slide2wake, gesture upgrades, and general bugfixes

- massive update. probably should have broken this up into smaller commits :/