README: list some major libraries this app depends on
templates/settings/privacy: add leaflet.GestureHandling to page
templates/activity: add leaflet.GestureHandling to page
static: add leaflet.GestureHandling plugin

This plugin fixes issues with accidental scrolling when using
touchscreens and trying to scroll the page.
docker-compose: set RIDECASA_TMP_DIR for containers to share tmp dir
README: document env variables that can be used to change app config
user/file_upload: add env var for setting tmp dir

When run in containers, the tmp dir needs to be shared between the
containers. This allows setting that dir in the application using
docker: use python 3.9 in containers
docker/importer: run huey in process mode
readme: change huey_consumer instructions to run with 'process'

This resolves a LOT of random exception throwing, probably due to the
default Huey threading backend (threading and the GIL...). Using
processes also has the benefit that true multiprocessing can be used to
import multiple activities faster on systems with more logical CPUs.
settings/general: set user.enabled to false when scheduling deletion
auth/{login,signup}: add user 'enabled' flag and use it for blocking login
models: add 'enabled' column to User table

This flag will be used to block login to an account, for example when
the account is scheduled for deletion.
settings/general: schedule non-blocking delete_user task
tasks: add delete_user task for delayed delete

Deleting a user with lots of activities takes a while, since the web
backend blocks until the sql transaction is complete. This adds a task
that can be scheduled later to delete the user
tasks: add huey_startup hook to init db

This works around a crash with initing ponyorm db and huey that only
seems to happen when starting >1 huey workers
requirements: upgrade python-fitparse
docker/importer: disable multiple huey processes

This seems to be pretty buggy with the ORM and db backend, sometimes
pony crashes, or the db is locked when the app tries to open a page
while huey is importing, etc.

Imports will be slower... but at least it seems to be more reliable and
the web interface doesn't suffer while actively importing..
tasks: add retry for db_session

This might help when db transactions error out because of locking, etc.
parsers/fitparse: ignore points with no position data