Integrity-Constrained Factor Graph Optimization for GNSS Positioning in Urban Canyons