refactor(appview): convert indexer to class, eliminate module state (#8)
Replace module-level state in indexer with class-based architecture:
- Convert all handler functions to methods on new Indexer class
- Database instance passed to constructor, not module-level variable
- Remove initIndexer() function in favor of instantiation
- Update FirehoseService to create and use Indexer instance
- Update all tests to instantiate Indexer with test database
- Add TxOrDb type alias for cleaner transaction/database parameter types
Benefits:
- Explicit dependencies - database requirement visible in constructor
- Testability - no shared module state between tests
- Flexibility - can create multiple indexer instances if needed
- Type safety - transaction parameters properly typed