An ATproto social media client -- with an independent Appview.

Shadow refactoring and improvements (#1959) master

* Make shadow a type-only concept * Prevent unnecessary init state recalc * Use derived state instead of effects * Batch emitter updates * Use object first seen time instead of dataUpdatedAt * Stop threading dataUpdatedAt through * Use same value consistently