Lots and lots of cleanup

- Added documentation, occasional logic reorganization
- Made some new packages, renamed old ones for clarity
- Got rid of a ton of deprecated code
- Oh god Gamepad. I think it should be permanently done now