Consolidate video state into a single asset-scoped provider, and reduce
dependency on global state generally. Overall this should fix a few
timing issues and race conditions with videos specifically, and make
future changes in this area easier.
The existing implementation for showing asset details uses a bottom
sheet, and is not in sync with the preview or scroll intent. Other apps
use inline details, which is much cleaner and feels better to use.
* fix(mobile): first video memory doesn't play
* refactor: moved logic to static method
* refactor: fix haptic feedback & empty check
* refactor: use DriftMemory on setMemory
* refactor: move video reset into if block