Initial implementation of local media libraries. Includes local scanners
for movie and TV library types. Saves extracted metadata locally.
Some things are missing, including:
* Saving all metadata locally, including genres, actors, etc.
* blurhash extraction - this is computationally expensive at scale and
should be done async
* Hooking up subtitle extraction to new subtitle DB tables
* Updates Typescript to latest version
* Changes server Typescript config to actually emit JS files. We were
already running a full tsc invocation against the server for
typechecking anyway... and we use tsx for fast dev iteration w/o
typechecking, so we may as well just emit the actual JS files so that we
can take advantage of thinks like decorator metadata (upcoming inversify
PR...)
* Updates better-sqlite version to latest
* Bumps node version requirement to 22 and codifies it in package.json
engines