Smartphone PDR/GNSS Integration via Factor Graph Optimization for Pedestrian Navigation