This implements lazy loading for almost all views beyond login. The effect is to cut the initial amount users need to download from over 3 MB to 1.5 MB, which should at least double initial Time-to-View. It moves the phone-number-input to the components that need it, as that component alone is .2 MB, so now it will only get loaded when truly needed.
Developer self-review checklist
[x] Potentially confusing code has been explained with comments
[x] No warnings or errors have been introduced; all known error cases have been handled
[x] Any appropriate documentation (within the code, README.md, docs, etc) has been updated
Description
Developer self-review checklist