Development of a Slab-based Monte Carlo Proton Dose Algorithm with a Robust Material-dependent Nuclear Halo Model