Semi-Separable Hamiltonian Monte Carlo for Inference in Bayesian Neural Networks