primarily performance and correctness lint fixes

This is a long one, but it takes care of a decent amount of annoyingness and makes our code more obvious and explicit. Also cleaned up unused resources that have been sitting around for quite a while.

Performance improvements are largely around flattening layouts and minimizing memory leaks, correctness about hardcoded strings and explicit annotations for using APIs only available on certain platforms.

Went from 349 errors and 565 warnings to 2 errors and 62 warnings (the two errors will be corrected once translations are imported).
> In Android, Handler classes should be static or leaks might occur. Messages
enqueued on the application thread's MessageQueue also retain their target
Handler. If the Handler is an inner class, its outer class will be retained as
well. To avoid leaking the outer class, declare the Handler as a static nested
class with a WeakReference to its outer class.