fix: encode non-UTF-8 binary data as $bytes in JSON
- Add UTF-8 validation in sanitize_for_json to detect raw binary data
- Encode invalid UTF-8 binaries as {"$bytes": "<base64>"} per ATProto spec
- Fixes CAR worker crash on InvalidByte(142) when processing binary blobs
- Add debug logging for validation errors during backfill