A whole fsckton of changes

This branch includes:
* API integration
* Lots of random changes and refactoring
* Mock login stuff
* A fix to the loading indicator disappearing too early
* Device deletion confirmation
* Probably other things I'm forgetting