game: ComponentVisitor refactoring

No need to have these complications, we
just need to know base component type, so don't
register every single component type with the visitor